- 博客(3)
- 收藏
- 关注
原创 Golang channel 死锁的几种情况以及例子
Golang channel 死锁的几种情况以及例子死锁是指两个或两个以上的协程的执行过程中,由于竞争资源或由于彼此通信而造成的一种阻塞的现象,若无外力作用,他们将无法推进下去,以下是总结出来的几种死锁情况。1.死锁1:一个通道在一个主go程里同时进行读和写2.死锁2:go程开启之前使用通道3.死锁3 :通道1中调用了通道2,通道2中调用通道14.死锁4:直接读取空channel的死锁5.死锁5:超过channel缓存继续写入数据导致死锁6.向已关闭的channel中写入数据不会导致死锁,但是
2020-11-06 16:38:03
2835
1
原创 Golang Printf、Sprintf 、Fprintf 格式化详细对比
Golang Printf、Sprintf 、Fprintf 格式化详细对比Println :可以打印出字符串,和变量Printf : 只可以打印出格式化的字符串,可以输出字符串类型的变量,不可以输出整形变量和整形Sprintf: 格式化并返回一个字符串而不带任何输出。1.Sprintf 则格式化并返回一个字 符串而不带任何输出。s := fmt.Sprintf("是字符串 %s ",“...
2019-12-19 10:31:51
1837
转载 go omitempty使用实例
go omitempty使用实例package mainimport (“encoding/json”“fmt”)type Person struct {Name string json:"name"Age int json:"age"Addr string json:"addr,omitempty"}func main() {p1 := Person{Name:...
2019-12-13 14:10:32
1234
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人