go的特性1(或者叫做坑)

本文通过实例解释了Go语言中标识符的可见性规则:大写字母开头为公开可用,小写字母开头则仅限包内使用。此规则简化了代码风格并确保团队合作时的一致性。

定义一个包a,里面定义一个数据结构

type s1 struct{
  X,y int
}

type S2 struct{
  X,y int
}

然后在另外一个包里面使用

st1:=a.s1{1,2}
st2:=a.S2{3,4}

编译错误:

cannot refer to unexported name a.s1

注释掉第一行,在编译:

implicit assignment of unexported field 'y' in a.S2 literal

这里有个坑,就是go语言使用了强制的约定:大写字母开头的,相当于是public,到处可用;小写字母开头的,相当于private,只有包内可用。

这种做法的好处是,显得更简洁,省去了public这样的关键字。统一了程序的书写风格,即使有不同编程风格的人一起写代码,风格也会变得统一。

 

转载于:https://my.oschina.net/qii/blog/700411

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值