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("结束")
}

在这里插入图片描述
在这里插入图片描述

posted @   福大大架构师每日一题  阅读(26)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
历史上的今天:
2021-09-12 2021-09-12:请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数 myAtoi(string
2020-09-12 2020-09-12:手撕代码:最小公倍数,复杂度多少?
点击右上角即可分享
微信分享提示