x=1go func fmtPrintlnx go func fmtPrintlnx 以上两个goroutine 的区别
第一个goroutine中的函数是一个闭包,它捕获了x的值并输出。因为x的值在定义闭包时已经确定,因此输出的是1。
第二个goroutine中的函数没有捕获x的值,因此在goroutine执行时,x的值可能已经被修改。因此,输出的值是不确定的。
原文地址: https://www.cveoy.top/t/topic/dxBP 著作权归作者所有。请勿转载和采集!
安全问答是一个知识全球问答,包含丰富的问答知识
第一个goroutine中的函数是一个闭包,它捕获了x的值并输出。因为x的值在定义闭包时已经确定,因此输出的是1。
第二个goroutine中的函数没有捕获x的值,因此在goroutine执行时,x的值可能已经被修改。因此,输出的值是不确定的。
原文地址: https://www.cveoy.top/t/topic/dxBP 著作权归作者所有。请勿转载和采集!