diff --git a/Software/Development/Language/Go/Basic/Golang_的命名规范及大小写的访问权限.md b/Software/Development/Language/Go/Basic/Golang_的命名规范及大小写的访问权限.md new file mode 100644 index 0000000..00fdc19 --- /dev/null +++ b/Software/Development/Language/Go/Basic/Golang_的命名规范及大小写的访问权限.md @@ -0,0 +1,23 @@ +# Golang 的命名规范及大小写的访问权限 + +1. golang 的命名需要使用驼峰命名法,且不能出现下划线 +2. golang 中根据首字母的大小写来确定可以访问的权限。无论是方法名、常量、变量名还是结构体的名称,如果首字母大写,则可以被其他的包访问;如果首字母小写,则只能在本包中使用。可以简单的理解成,首字母大写是公有的,首字母小写是私有的。 +3. 结构体中属性名的大写 + +如果属性名小写则在数据解析(如 json 解析 , 或将结构体作为请求或访问参数)时无法解析 + +```go +type User struct { + name string + age int +} + +func main() { + user:=User{"Tom",18} + if userJSON,err:=json.Marshal(user);err==nil{ + fmt.Println(string(userJSON)) // 数据无法解析 + } +} +``` + +如上面的例子,如果结构体中的字段名为小写,则无法数据解析。所以一般建议结构体中的字段大写