golang 在for range一个slice时,会读出其cap长度.在for的过程中,即使动态append该slice,最终for也会在第一次读取的cap长度处停止. package main import ( "fmt" ) func main() { s := make([]) s[]="a" s[]="b" s[]="c" for _,i := range s { s = append(s, s[]) fmt.Pri…
一直对slice切片这个概念理解的不是太透彻,之前学习python的就没搞清楚,不过平时就用python写个工具啥的,也没把这个当回事去花时间解决. 最近使用go开发又遇到这个问题,于是打算彻底把这个概念搞清楚,阅读了几篇文章,记录下自己对切片的理解: https://blog.golang.org/slices 这篇文章里面有一段这样的话,我认为算是对slice做出了一个简单明确的定义: A slice is a data structure describing a contiguous …