随笔分类 - golang
摘要:将panic的转化为error类型值,并将其作为函数值返回给调用方 保证sync.Mutex同步锁得到解锁
阅读全文
摘要:switch语句对case表达式的结果类型有如下要求: 要求case表达式的结果能转换为switch表示式结果的类型 并且如果switch或case表达式的是无类型的常量时,会被自动转换为此种常量的默认类型的值。比如整数1的默认类型是int, 浮点数3.14的默认类型是float64 switch
阅读全文
摘要:切片是引用类型,而数组是值类型,并且for...range有以下规则: 1. range表达式只会在for语句开始执行时被求值一次,无论后边会有多少次迭代 2. range表达式的求值结果会被复制,也就是说,被迭代的对象是range表达式结果值的副本而不是原值 打印结果 在range开始迭代时就浅拷
阅读全文
摘要:"参考" package main import ( "fmt" "sync/atomic" "time" ) func main() { var count uint32 trigger := func(i uint32, fn func()) { for { if n := atomic.Loa
阅读全文
摘要:不可以寻址, 指的是不能通过&获得其地址。 golang中不能寻址的可以总结为:不可变的,临时结果和不安全的。只要符合其中任何一个条件,它就是不可以寻址的。 具体为: 常量的值。 基本类型值的字面量 算术操作的结果值 对各种字面量的索引表达式和切片表达式的结果值: 不过有一个例外,对切片字面量的索引
阅读全文