MST

星途 面试题库

面试题:Go中标识符命名规范相关基础应用

请写出符合Go标识符命名规范的三个不同类型的标识符,分别用于定义一个包名、一个结构体名和一个函数名,并解释为什么这样命名符合规范。同时,指出以下标识符哪些不符合Go的命名规范:`3test`、`test-name`、`_private`、`TestFunction`。
42.5万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
  • 包名:mypackage。在Go中,包名一般为小写字母,简短且具有描述性,这样的命名能准确反映包的功能,符合规范。
  • 结构体名:UserInfo。结构体名采用驼峰命名法,首字母大写,这是Go语言中定义结构体等自定义类型的常见命名方式,既清晰又能体现其作为一个独立类型的特点。
  • 函数名:calculateSum。函数名通常采用驼峰命名法,首字母小写(若希望该函数可被其他包访问,则首字母大写),以描述函数的功能,符合规范。

不符合Go命名规范的标识符:

  • 3test:Go标识符不能以数字开头。
  • test-name:Go标识符中不能包含连字符。
  • _private:虽然下划线在Go中有特殊用途,但单独的下划线作为标识符不符合命名规范的一般习惯,它通常用于忽略值等特殊场景,而不是作为常规的变量、函数等命名。
  • TestFunction:在Go中,如果这是普通函数,首字母大写通常用于对外公开访问,一般普通函数首字母小写;若作为测试函数(以Test开头),测试函数必须放在以_test.go结尾的文件中,且该函数接收一个*testing.T类型的参数,这里未明确其用途,所以从常规函数角度不符合一般命名规范。