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

最近接触go语言  发现和java的方法调用有些相似但又有本身的注意点java

go的包我理解为则是隔离的最小模块spa

先在src目录下建立main.go文件  package为main,而后在src下建立module1目录 ,在module1目录下建立两个文件packageStrut.go,packageStrut2.go    package均为module1code

建立后以下blog

 

 

 

 

 

 

 

 

1.同一个module下方法和声明不能重复

  例如packageStrut.go中声明以下方法与结构get

package module1

import "time"

type People struct {
    UserName string
    PassWord string
}
func NowTime() time.Time  {
    return time.Now()
}

  而后在packageStrut2.go中重复声明会直接报错string

 

 

 

2.同一个包下面方法和声明调用能够直接经过方法名

  例如修改packageStrut2.go的方法直接调用packageStrut中NowTime方法,将上面的冲突packageStrut2中冲突的People修改成Person后冲突消失,新建的Person实例编译

 

 

3.调用不一样的包下的方法和声明只能调用方法名首字母大写的方法

  

  例如先将packageStrut2中的GetNanoTime()方法首字母改成小写,而后在main.go中分别调用packageStrut的NowTime()方法和packageStrut2修改后的getNanoTime()方法 ,前者会成功,后者则会编译报错class

 

 

 

 

 

   类也是一致,若是将packageStrut2中的Person改成person  ,则这个person只对同包下是可见的,编译也会报错import

相关文章
相关标签/搜索