谈谈go语言的关键字

       go语言的关键字极其少,充分体现了少就是多的哲学。go一共有多少关键字呢?我在论坛搜索了一波,发现只有25个关键字。我整理了一个表。如下

break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var

go1.18可能加入一些新的关键字来支持泛型,例如any代表interface{},因为go 1.18只发布了beta1版本所以这个还不能盖棺定论。

可以看出这些关键字里面居然连常见的int等类型定义都没有,却添加了内置支持类型map和chan。map的作用不用多说,键值对处理的必备,而chan则是go语言处理协程通讯的基本工具。但是int等类型真的不是关键字吗?我的回答是,那当然,看看下面这段奇怪的代码你就明白了。

package main

import "fmt"

type int float32

func main(){

  make:=func(){
     var a int
     a = 12.3
     fmt.Println(a)
  }
  make()
}

代码“居然”正常编译运行了,不过这样的写法估计你离离职也不远了吧。

不得不说go的关键字设计确实有点大胆,只能说佩服佩服。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值