在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
最近接触go语言 发现和java的方法调用有些类似但又有自己的注意点 go的包我理解为则是隔离的最小模块 先在src目录下创建main.go文件 package为main,然后在src下创建module1目录 ,在module1目录下创建两个文件packageStrut.go,packageStrut2.go package均为module1 创建后如下
1.同一个module下方法和声明不能重复例如packageStrut.go中声明如下方法与结构 package module1 import "time" type People struct { UserName string PassWord string } func NowTime() time.Time { return time.Now() } 然后在packageStrut2.go中重复声明会直接报错
2.同一个包下面方法和声明调用可以直接通过方法名例如修改packageStrut2.go的方法直接调用packageStrut中NowTime方法,将上面的冲突packageStrut2中冲突的People修改为Person后冲突消失,新建的Person实例
3.调用不同的包下的方法和声明只能调用方法名首字母大写的方法
例如先将packageStrut2中的GetNanoTime()方法首字母改为小写,然后在main.go中分别调用packageStrut的NowTime()方法和packageStrut2修改后的getNanoTime()方法 ,前者会成功,后者则会编译报错
类也是一致,如果将packageStrut2中的Person改为person ,则这个person只对同包下是可见的,编译也会报错
|
请发表评论