作者回复: Cool.
作者回复: 犹如在课程中提到的Go都是值传递,对于数组会创建一个新的空间,然后拷贝所有元素。对于切片,切片对应的结构也会按值拷贝,但是结构中的指针在拷贝后还是指向的同一个后端数组。可以尝试运行以下代码 //数组 a := […]int{1, 2, 3, 4} b := a b[1] = 4 fmt.Println(a, b) //输出 [1,2,3,4] [1,4,3,4] //切片 a1 := []int{1, 2, 3, 4} b1 := a b1[1] = 4 fmt.Println(a1, b1) //输出 [1,4,3,4] [1,4,3,4]
作者回复: go语言中有个专门的命令行工具gofmt用来对代码进行格式化。很多IDE也集成了这个工具。 其他一些最佳实践参考 https://mp.weixin.qq.com/s/BbZcp5OJSQHNi6nlnu3_eA
作者回复: 按位存储可以用更小的存储空间表示更多的状态。位运算常常用于操作这些,如修改状态等
作者回复: 融会贯通啊
作者回复: 不一样一个人是按位清零,一个是异或 0&^1=0 0^1=1
作者回复: 对的。非常感谢