写点什么

2022-09-12:以下 go 语言代码输出什么?A:true;B:false;C:无法编译;D:运行时 panic。 package main func main() { var x chan<-

  • 2022 年 9 月 12 日
    北京
  • 本文字数:297 字

    阅读完需:约 1 分钟

2022-09-12:以下go语言代码输出什么?A:true;B:false;C:无法编译;D:运行时 panic。 package main func main() { var x chan<-

2022-09-12:以下 go 语言代码输出什么?A:true;B:false;C:无法编译;D:运行时 panic。


package main
func main() { var x chan<- chan error var y chan (<-chan error) println(x == y)}
复制代码


答案选 C。这道题很多人选 A。x 和 y 的类型不一样。x 里的元素是 chan error 类型,y 里的元素是<-chan error 类型,两者类型不匹配,所以选 C。


package main
import "fmt"
func main() { var x chan<- chan error = make(chan<- chan error, 1) var y chan (<-chan error) = make(chan (<-chan error), 1) fmt.Printf("%T\r\n", x) fmt.Printf("%T\r\n", y) x <- make(chan error) y <- make(<-chan error) fmt.Println("结束")}
复制代码




发布于: 刚刚阅读数: 5
用户头像

还未添加个人签名 2021.02.15 加入

还未添加个人简介

评论

发布
暂无评论
2022-09-12:以下go语言代码输出什么?A:true;B:false;C:无法编译;D:运行时 panic。 package main func main() { var x chan<-_golang_福大大架构师每日一题_InfoQ写作社区