golang结构体的坑之大小写

版权声明:本文为原创文章,未经允许不得转载 https://blog.csdn.net/qq_33875256/article/details/82968733

结构体名字没有首字母大写别的包无法调用

但是这里有一个特殊情况(这个限制不仅仅是结构体),当你有另一个首字母大写的结构体Test,包含了一个首字母小写的结构体test类型的参数,那么就够在包外通过调用这个首字母大写的结构体,间接的调用这个首字母小写的结构体的内容(前提必须是参数首字母大写)

var hi test = test{"hello"}
type test struct {
   Test string
}
type Test struct {
   Test1 test
}
func (m * Test) InitHi(){
   m.Test1=hi
}

结构体中参数首字母没有大写时,别的包虽然可以调用这个结构体,但是找不到这个结构体中没有首字母大写的参数。

猜你喜欢

转载自blog.csdn.net/qq_33875256/article/details/82968733