avatar
golang的一个问题# Programming - 葵花宝典
b*i
1
上周上了一个课。老师讲了个例子
func main(){
ch:=make(chan int)
go func(c chan int){
d:=fmt.Print(d)
}
3}
会直接退出没有显示。结果演示的时候有显示。他说大部分是不会显示的,因为打印语
句很慢。
我当场就觉得他讲错了。这是因为go routine开始的时候并没有执行,然后在ch时候才转到go routine因为执行不下去了需要有变量的读出这个channel。当d取出后,
并没有进行routine转移的指令,没有yield,所以整个函数执行完后才回到原来停下来
的地方。
不知道我说的对不对。
avatar
c*v
2
语法错误跑不出。不如你fix,跑10次,看看结果?

【在 b***i 的大作中提到】
: 上周上了一个课。老师讲了个例子
: func main(){
: ch:=make(chan int)
: go func(c chan int){
: d:=: fmt.Print(d)
: }
: 3: }
: 会直接退出没有显示。结果演示的时候有显示。他说大部分是不会显示的,因为打印语

avatar
l*s
3
You are right.

【在 b***i 的大作中提到】
: 上周上了一个课。老师讲了个例子
: func main(){
: ch:=make(chan int)
: go func(c chan int){
: d:=: fmt.Print(d)
: }
: 3: }
: 会直接退出没有显示。结果演示的时候有显示。他说大部分是不会显示的,因为打印语

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。