Go语言学习笔记3——控制语句

本文探讨了Go语言中控制语句的特点,包括不支持if-else结构、if、for和switch的简洁语法。尽管Go的控制语句与C等语言在形式上有所不同,但其功能依然强大且灵活。文章通过举例说明了Go的switch语句如何增强,能够替代if-else链,并指出Go不支持while和do-while循环,强调了Go的简洁设计理念。
摘要由CSDN通过智能技术生成

        有人说,程序是这个世界上最简单的东西,因为你只需要知道if、for、switch就足够了。事实上,程序也是由判断和循环两种语句组成。程序员更喜欢和机器打交道,而不是和人打交道,是因为程序的世界里更简单,更单纯,没有复杂的关系,是1不会为0、是真也不会为假,一切的一切都是那么真实,不虚幻。此刻,我坚信技术宅们比谁都了解这个世界,比谁都看得更清楚,所以他们将自己宅起来,出淤泥而不染吧。

        开门一段土嘈完后,发现本文没有什么好写的了。控制语句不就"判断和循环"吗? 写过”hello,world“的人,没理由没写过if和for。Go的控制语句相比其他语言只是形不同,而神相似。因此,具体的语法我也不想记录了。这里列举两点个人不爽的地方。

1、Go目前不支持if-else这种结构,真是各说各有理阿。具体看下面链接的讨论。

http://code.google.com/p/go/issues/detail?id=65

2、Go的if、for、switch的条件判断语言上不需要加括号。虽然,此举让程序员少敲了两个字符,但说真心话,我真的不在乎多敲那两个字符阿,并且我怎么就觉得多一对括号看起来就是要美观一点呢。好吧,土嘈完毕,我表示很理解,这个世界本来就是千奇百怪的,不同的人有不同的审美观麻。只是遗憾,自己的审美和Go作者不一致。


        必须赞一下go的switch,这家伙被加强了不少。最屌的是case语句不在只能是常量或整数,而可以提供表达式。我想这个就是用来替换if - else if - else if - else 这类结构的。看一段例子:

switch c {
case '0' <= c && c <= '9':
    return c - '0'
case 'a' <= c && c <= 'f':
    return c - 'a' + 10
case 'A' <= c && c <= 'F':
    return c - 'A' + 10
}

        最后,还得为Go鼓掌的是,它不支持while,do-while循环。有了for完成循环,为什么还要设计出while,甚至是do-while呢?这不是故意让一种语意多种表达吗?奇技淫巧只能用来泡妞、把妹、忽悠MM,真正的工业级工具应该是简单优雅、无歧义。再次bs一把C++,虽然我在淘宝的title是C++开发工程师,自己真是惭愧。

        总的来说,Go的控制语句完全可以做所有你想做的事情了,并且更加灵活,更加简单。


        写到最后,发现这篇就是以土嘈为主,笔记为辅,感觉真好,开开心心回家了。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值