go笔记(go中的方法调用)

最近接触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只对同包下是可见的,编译也会报错

  

猜你喜欢

转载自www.cnblogs.com/hetutu-5238/p/11772784.html