golang函数命名约定的演变

golang 函数命名约定演变如下:早期阶段(go 1.0):无正式约定,使用骆驼式命名。下划线约定(go 1.5):导出函数大写开头,以下划线前缀。工厂函数约定(go 1.13):创建新对象的函数以 “new” 前缀表示。Golang 函

golang 函数命名约定演变如下:早期阶段(go 1.0):无正式约定,使用骆驼式命名。下划线约定(go 1.5):导出函数大写开头,以下划线前缀。工厂函数约定(go 1.13):创建新对象的函数以 “new” 前缀表示。

golang函数命名约定的演变

Golang 函数命名约定的演变

Golang 函数命名约定随着时间的推移而不断演变,旨在提高代码可读性、一致性和可维护性。

早期阶段 (Go 1.0)

最初,Golang 没有正式的函数命名约定。函数名称通常由不带下划线前缀的骆驼式命名组成,例如:

func MyFunction() {
    // ...
}

登录后复制

Underscore 约定 (Go 1.5)

Go 1.5 引入了下划线约定,要求导出函数使用大写字母开头并以下划线作为前缀。这有助于区分公共 API 函数和非导出函数:

func MyPublicFunction() {
    // ...
}

func _myPrivateFunction() {
    // ...
}

登录后复制

工厂函数约定 (Go 1.13)

Go 1.13 增加了工厂函数命名约定。这些函数用于创建新对象并使用 “New” 前缀表示:

func NewMyObject() *MyObject {
    // ...
}

登录后复制

实战案例

以下是一段代码,展示了这些约定的实际应用:

package main

func main() {
    myPrivateFunction() // 非导出函数,以 "_" 前缀开头
    myPublicFunction() // 公共 API 函数,以大写字母开头并以下划线前缀

    // 创建新对象
    myObject := NewMyObject()

    // 使用对象的方法
    myObject.MyObjectMethod()
}

func _myPrivateFunction() {
    // ...
}

func MyPublicFunction() {
    // ...
}

type MyObject struct {
    // ...
}

func (o *MyObject) MyObjectMethod() {
    // ...
}

登录后复制

通过遵循这些约定,我们可以增强 Golang 代码的清晰度和一致性。

以上就是golang函数命名约定的演变的详细内容,更多请关注叮当号网其它相关文章!

文章来自互联网,只做分享使用。发布者:叮当,转转请注明出处:https://www.dingdanghao.com/article/431907.html

(0)
上一篇 2024-05-01 16:00
下一篇 2024-05-01 16:00

相关推荐

联系我们

在线咨询: QQ交谈

邮件:442814395@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信公众号