Golang - 遇到的坑

1. 这个应该时只有go才会遇到的

func consumer(c chan int) {
	hasMore := true
	//var p int		// 如果这里不定义p,就需要在后面使用 :=
	for hasMore {	// 这样hasMore也被当成了局部变量,并且为bool型,每次for都会新建一个,默认值为true
		if p, hasMore := <- c; hasMore {		// 导致循环不能退出
			fmt.Printf("%v\n", hasMore)
			fmt.Println("B consume", p)
		}
	}
}

2. 

对于结构体对象,如果直接new得到的是指针:

var age2 = new(T2)

age2.age = 3

而如果用 := 得到的是对象引用

age2 := T2{3}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值