又是一个笔记:
var tt = []int{1,2,3,4,5}
for i,j:=0,len(tt)-1; i < j; i,j=i+1,j-1 {
tt[i],tt[j] = tt[j],tt[i]
}
fmt.Println(tt);
本来以为for循环是很简单的。
我最初是这样写的
for i:=0,j:=len(tt)-1;i<j;i++,j-- {
..
}
结果直接报错:
# command-line-arguments
./tour.go:123: syntax error: unexpected comma, expecting {
./tour.go:126: non-declaration statement outside function body
./tour.go:127: syntax error: unexpected }
[Finished in 0.2s with exit code 2]
看了手册才明白。。我晶
------------------
顺便。数组有两个玩意:len,cap,理解的话一个可以当成现有长度,一个是最大长度。
如:tt := make([]int ,5)
这时候tt是被填充的{0,0,0,0,0}
如果 tt:=make([]int ,0,5);
这时候tt的最大长度是5,但结果是{},黑黑