Golang编程的大小写问题

鬼谷子叔叔 - 2024-08-09 12:23

package里的type结构体定义,只有名称开头是大写字母的才能在外面调用。

这个test包里只有Result结构体可以在外面被调用,而result结构体不行!

package test

type Result struct {
   code int
   message string
}

type result struct {
   code int
   message string
}

但是那些名称开头是小写字母的type结构体可以在package内部使用。

这个test包里的result结构体可以在test包内部调用。

func CreateDataResult() *result {
   r := &result{}
   return r
}

package里的type结构体里的字段定义,只有名称开头是大写字母的才能在外面调用。

这个test包里的Item1Result结构体的Key和Value可以在test包外面被调用,而Item2Result的key和value不行!

type Item1Result struct {
   Key string
   Value string
}

type Item2Result struct {
   key string
   value string
}

但是type结构体里那些名称开头是小写字母的字段可以在package内部使用。

这个test包里的Item2Result结构体的key和value可以在test包内部调用。

func CreateItem2Result() *Item2Result {
   r := &Item2Result{}
   r.key = "name"
   r.value = "同福"
   return r
}

package里的func函数定义,只有名称开头是大写字母的才能在外面调用。

但是那些名称开头是小写字母的func函数可以在package内部使用。