Golang值类型和引用类型

2020-1-21 liyangcoder Golang

1.值类型和引用类型


   值类型:变量直接存储,内存通常在栈中分配。

   引用类型:变量存储的是一个地址,这个地址存储最终的值。内存通常在堆上分配。通过GC回收


PS : 通常在函数中转入指针效率比较高,因为方法中的参数是需要进行拷贝的,拷贝指针的效率比较高,要是一个大的接口体的话拷贝的效率就比较低

2.GoLang中的值类型和引用类型


   1.值类型 : 基本数据类型int、float、bool、string以及array和struct。

   2.引用类型:指针、slice、map、chan等都是引用类型

注意:Go语言中slice,map这三种类型的实现机制类似指针,所以可以直接传递,而不用取地址后传递指针。(注:若函数需改变slice的长度,则仍需要取地址传递指针)




评论(0) 浏览(518)

gin关联查询的一个小小的知识点

2019-9-26 liyangcoder Golang

在做一个老项目迁移,从PHP迁移到Golang,于是不得不一边迁移一边深入的了解老系,发现老系统有很多奇葩的设计,今天说说其中一个,以及给我带来的困扰和解决方案。

有三张表

1.用户表(user)

阅读全文>>

标签: golang

评论(0) 浏览(897)

go语言string、int、int64互相转换

2019-8-25 liyangcoder Golang

import "strconv"  //先导入strconv包


// string到int

int, err := strconv.Atoi(string)


// string到int64

int64, err := strconv.ParseInt(string, 10, 64)


// int到string

string := strconv.Itoa(int)


// int64到string

string := strconv.FormatInt(int64,10)

标签: go golang

评论(0) 浏览(3763)

Powered by emlog 冀ICP备13011830号-1