- 博客(29)
- 收藏
- 关注
原创 Go-unsafe
unsafe主要用在外部的C程序库进行交互。不安全指针unsafe.Pointer() 把它的地址拿出来之后,我们就可以把它转换为任何类型的指针,但是要注意这种转换是非常非常危险,只能用在同类型间,不同类型直接不要用。atomic.StorePointer() 用来将数据存放到一个 unsafe 指针变量里面。atomic.LoadPointer() 用来从 unsafe 指针变量里面读取数据。
2021-07-16 01:09:10
239
原创 Go-反射编程
反射类型:reflect.TypeOf()反射值:reflect.Value()reflect.ValueOf() 只会返回一个值;reflect.TypeOf()可以返回两个值,第二个值可以用来判断这个值有没有。kind() 可以对反射回来的类型做判断值。reflect.TypeOf(s).FieldByName("Name");调用 reflect.ValueOf(s).FieldByName() 方法,必须是结构体进行调用。调用 reflect.ValueOf(&s).MethodB
2021-07-15 22:44:07
501
原创 Go-单元测试
单元测试,表格测试,go test -v -cover,stretchr/testify/assert,Benchmark,b.ResetTimer( ) 和 b.StopTimer() ,go test -bench=. ,go test -bench=. -benchmen,smartystreets/goconvey,$GOPATH/bin/goconvey
2021-07-13 21:39:37
424
原创 Go-并发任务
sync.Once.Do(),仅需任意任务完成,所有任务都完成,buffered channel 实现对象池,数据库连接池,sync.pool
2021-07-08 23:18:43
283
原创 Go-package
在 GOPATH 下查包,在 GOMOD 下查包,多个init 方法,go get 拉取远程,提交自己的 package 到 github
2021-06-26 12:32:34
1218
原创 Go 函数
与其它主要编程语言的差异,slice、map、channel 会有传引用的错觉,函数可以有多个返回值,函数作为参数值和返回值,自定义类型,可变长参数和defer延迟执行函数
2021-06-19 10:54:16
336
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人