-
以下代码结果是什么
image.png -
如何输出012
image.png
image.png
N=10
image.png
image.png
image.png
image.png
image.png
全局只可以是以下类型:
image.png image.png
image.png
image.png
image.png
image.png
修改:加锁
image.png image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
这个可以:
image.png
image.png
这个错误:
for i := 10,j := 10;i < 100;i++{
}
image.png
image.png
image.png
语法可以,但没意义
image.png
image.png
image.png
image.png
数组切片也是引用类型
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png image.png
image.png image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
package main
func main() {
var fn1 = func() {}
var fn2 = func() {}
if fn1 != fn2 {
println("fn1 not equal fn2")
}
}
参考答案及解析:编译错误
invalid operation: fn1 != fn2 (func can only be compared to nil)
函数只能与 nil 比较。
type T struct {
n int
}
m := make(map[int]T)
m[0].n = 1
fmt.Println(m[0].n)
编译错误:cannot assign to struct field m[0].n in map
map[key]struct 中 struct 是不可寻址的,所以无法直接赋值。
修改为:
m := make(map[int]T)
t := T{1}
m[0] = t
fmt.Println(m[0].n)
网友评论