go
zuoye1010
这个作者很懒,什么都没留下…
展开
-
golang管道channel顺序执行报错deadlock
当golang顺序执行时,会报错fatal error: all goroutines are asleep - deadlock!package mainimport ( "fmt")func main() { ch := make(chan int) ch<-1 c1 :=<-ch fmt.Println(c1)}不知道有没有跟我一样好奇,为什么下面读取了管道的内容,还是会报错呢,其实这样是因为对主程main而言,到ch<-1时,原创 2022-05-05 22:45:25 · 509 阅读 · 0 评论 -
golang使用range获取管道channel 内容
package mainimport ( "fmt" "time")func t1(ch chan int){ for s:=range ch{ fmt.Println(s) }}func main() { ch := make(chan int,3) go t1(ch) ch<-1 ch<-2 ch<-3 time.Sleep(time.Second * 6)}原创 2022-05-05 22:35:20 · 970 阅读 · 0 评论 -
golang 关于append
func main(){ s1 :=make([]int,0,5) s1 =append(s1,1,2,3) s2 :=append(s1,4,5) fmt.Println(s2) //[1 2 3 4 5] s3 :=append(s1,6) //此处相当于对s2指向的数组再做修改 fmt.Println(s1) //[1 2 3] fmt.Println(s2)//[1 2 3 6 5] fmt.Println(s3)//[1 2 3原创 2022-05-01 23:56:31 · 254 阅读 · 0 评论 -
golang语法备注
1.golang中其他包的方法要被调用,需要首字母大写,代表是公共的,否则只能被当前自己的包使用原创 2021-02-26 18:20:24 · 244 阅读 · 0 评论 -
golang 指针和引用
var s = []string{“a”, “b”, “c”}fmt.Printf(“s 的内存地址 = %p\n”, &s) //这个是变量s的地址fmt.Printf(“s 指向的内存地址 = %p\n”, s)//这个是变量s对应的切片的地址原创 2021-01-19 19:44:49 · 789 阅读 · 1 评论