目录
目录 注意事项 time的Format函数参数使用常量,不要使用字符串 在for range闭包里使用goroutine注意:要传参数进去 目录@
注意事项package main
表示当前脚本是程序入口,含有main函数 如果不是入口,只是单纯的一个包的话,就尽量与当前目录文件夹的名称保持一致,表示一个包的脚本
slice的append函数的真面目slicez作为参数传递时是引用类型的,也就是把地址传进去了,要是做了一般的修改,就是真的修改了
package mainimport ( "fmt")func ppp(s []int) { s = append(s,3)}func main(){ s := make([]int,0) fmt.Println(s) ppp(s) fmt.Println(s)}
结果是:
[] []
本来应该改变的,为什么没有变?
因为append函数实际上不是在后边加上一段空间,而是重新找了块内存,而原先s的没有动,ppp()里面如果返回了,就对了意思
所以使用slice会修改时,建议尽量使用返回值
package mainimport ( "fmt" "time")func main() { t := time.Now() fmt.Println(t.Format(time.ANSIC)) fmt.Println(t.Format("Mon Jan _2 15:04:05 2006"))}
建议使用第一行的输出方式,第二行不知道会出什么样的问题。。。balabala
在for range闭包里使用goroutine注意:要传参数进去func main() { s := []string{"a","b","c"} for _,v := range s { go func() { fmt.Println(v) }() } select {}}
上面的结果无法得到想要的结果
func main() { s := []string{"a",v := range s { go func(v string) { fmt.Println(v) }(v) } select {}}
这个代码可以分别输出a,b,c,但是每次顺序都不同,研究一下。。
总结以上是内存溢出为你收集整理的Golang基础_12-基础小结全部内容,希望文章能够帮你解决Golang基础_12-基础小结所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)