golang学习笔记
u010160398
这个作者很懒,什么都没留下…
展开
-
golang不安全指针
结构体的成员变量在内存存储上是一段连续的内存 结构体的初始地址就是第一个成员变量的内存地址 基于结构体的成员地址去计算偏移量。就能够得出其他成员变量的内存地址 unsafe.Pointer是一个指针类型 值不能被取消引用? 如果unsafe.Pointer变量仍然有效,则由unsafe.Pointer变量表示的地址处的数据不会被GC回收 实质是int类型 不可以参与指针运算 ui...原创 2019-09-19 09:05:51 · 387 阅读 · 0 评论 -
关于多返回值
a, err := test() if err != nil { println(a) } a, err := test()//错误 因为a和err变量都已经在上面声名 b, err := test()//正确,但是不会重新创建err,因为上面已经有了 //“_”不能作为返回值 //例1 var err error err = errors.New("")//1 if true {...原创 2019-09-19 21:29:26 · 179 阅读 · 0 评论 -
interface
确保类型实现接口(依赖编译器) type Jedi interface { HasForce() bool } type Knight struct { } var _ Jedi = (*Knight)(nil) or var _ Jedi = new(Knight) func main() { } func (Knight) HasForce() bool { return f...原创 2019-09-19 21:31:12 · 129 阅读 · 0 评论