社区
其他技术讨论专区
帖子详情
为什么Go没有三目运算
weixin_38067090
2019-09-20 10:33:55
如题
...全文
261
3
打赏
收藏
为什么Go没有三目运算
如题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
weixin_38078374
2019-09-20
打赏
举报
回复
这个之前看到过解释, 是为了简化golang的语言特性. 用if可以得到更清晰易读的代码.
weixin_38078903
2019-09-20
打赏
举报
回复
期望: `n := flag ? 1 : 2` 现实: `n := map[bool]int{true: 1, false:2}[flag]` 还不如老老实实 if else
weixin_38107492
2019-09-20
打赏
举报
回复
``` // 模拟三元操作符 func If(condition bool, whenTrue, whenFalse interface{}) interface{} { if condition { return whenTrue } return whenFalse } ```
Go为什么
没有
三目运算
符
文章讨论了Go语言不支持
三目运算
符的原因,主要是为了保持代码的简洁性和可读性。尽管Go团队倾向于使用if-else结构,但作者认为
三目运算
符在某些场景下能简化代码并减少变量定义。文中提出了通过自定义函数和泛型模拟
三目运算
符的方法,但指出了这些方法无法实现语言级别的惰性计算。作者个人对Go语言引入
三目运算
符持积极态度。
10《Go语言入门》循环和条件
这是一篇Go语言入门文章,介绍了Go语言的循环和条件控制。循环方面,Go仅支持for循环,通过for可实现类似其他语言的while条件循环和无限循环;条件控制方面,介绍了if和switch条件,还提到条件表达式支持变量赋值,且Go不支持
三目运算
符。
go
三目运算
博客指出Go语言目前及未来都不支持
三目运算
符,原因是会影响简洁性与可读性。若想用原生
三目运算
符需换语言,同时介绍了两种简单模拟
三目运算
的方式,其中一种可考虑使用,另一种不建议使用。
三目运算
博客介绍了不同编程语言的
三目运算
。C语言有特定的
三目运算
表达式 ?:,还可作为简单函数;Python
没有
特定操作符,采用 '变量1' if a>b else '变量2' 的形式;Golang不支持
三目运算
,给出了替代方法,同时它不支持操作符重载和泛型。
golang
三目运算
的实现
本文介绍了Go语言中如何通过自定义函数来模拟
三目运算
,提供了一个简单的ternary函数示例,展示了如何在代码中使用该函数进行条件判断,包括整数和字符串类型的返回值。示例代码详细展示了函数的定义和调用,帮助理解其工作原理。
其他技术讨论专区
477
社区成员
790,951
社区内容
发帖
与我相关
我的任务
其他技术讨论专区
其他技术讨论专区
复制链接
扫一扫
分享
社区描述
其他技术讨论专区
其他
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章