以下go语言代码输出什么?A:5、B:不能编译;C:运行时死锁。
package main
import (
"fmt"
"time"
)
func main() {
ch1 := make(chan int)
go fmt.Println(<-ch1)
ch1 <- 5
time.Sleep(1 * time.Second)
}
答案选C。有部分人会选A,以为<-ch1是在子协程运行,但实际上是在主协程里运行的,因为这是入参。
2025-01-15 08:08:20 阅读次数:16
以下go语言代码输出什么?A:5、B:不能编译;C:运行时死锁。
package main
import (
"fmt"
"time"
)
func main() {
ch1 := make(chan int)
go fmt.Println(<-ch1)
ch1 <- 5
time.Sleep(1 * time.Second)
}
答案选C。有部分人会选A,以为<-ch1是在子协程运行,但实际上是在主协程里运行的,因为这是入参。
上一篇:低代码开发重要工具:jvs-logic(逻辑引擎)2.1.6版本功能清单
下一篇:算法题:剑指 Offer 31. 栈的压入、弹出序列(题目+思路+代码+注释)快速幂解法 时空 1ms击败97%用户
Docker 多阶段构建是一种在 Dockerfile 中使用多个 FROM 指令来构建镜像的方法。它的主要目的是减小最终生成的镜像大小,并提高镜像的安全性和可维护性。多阶段构建通常用于编译和打包应用程序的过程中。
生产模式是开发完成代码后,我们需要得到代码将来部署上线。
webpack5基础--01_基本使用
【Mybatis】-防止SQL注入
TypeScript 系统学习 终章
C语⾔设置了⼀些预定义符号,可以直接使⽤,预定义符号也是在预处理期间处理的。
【编译原理】一篇搞定短语、直接短语、句柄
【Python】学习笔记01
C语言程序的编译
TypeScript起航篇·何为TypeScript?
文章
33561
阅读量
5232845
2025-05-16 09:15:10
2025-05-14 10:33:25
2025-05-07 09:12:52
2025-04-23 08:18:21
2025-04-22 09:27:37
2025-04-22 09:27:28
2023-02-10 10:10:49
2023-05-10 06:00:56
2023-05-17 06:38:26
2023-06-13 08:33:13
2023-07-25 08:19:50
2023-03-14 09:21:29