>  기사  >  백엔드 개발  >  golang 함수 명명 규칙의 진화

golang 함수 명명 규칙의 진화

PHPz
PHPz원래의
2024-05-01 15:24:01604검색

Golang 함수 명명 규칙은 다음과 같이 발전합니다. 초기 단계(Go 1.0): 공식적인 규칙이 없으며 낙타 명명을 사용합니다. 밑줄 규칙(Go 1.5): 내보낸 함수는 대문자로 시작하고 밑줄이 앞에 붙습니다. 팩토리 함수 규칙(Go 1.13): 새 객체를 생성하는 함수는 "New" 접두사로 표시됩니다.

golang 함수 명명 규칙의 진화

Golang 함수 명명 규칙의 진화

Golang 함수 명명 규칙은 코드 가독성, 일관성 및 유지 관리성을 향상시키기 위해 시간이 지남에 따라 발전해 왔습니다.

초기 단계(Go 1.0)

처음에 Golang에는 공식적인 기능 명명 규칙이 없었습니다. 함수 이름은 일반적으로 밑줄 접두사 없이 낙타식 이름으로 구성됩니다. 예:

func MyFunction() {
    // ...
}

Underscore Convention (Go 1.5)

Go 1.5에서는 밑줄 규칙을 도입하여 내보낸 함수에 대문자로 시작하고 밑줄 접두사가 붙도록 요구했습니다. . 이는 공개 API 함수와 내보내지 않은 함수를 구별하는 데 도움이 됩니다.

func MyPublicFunction() {
    // ...
}

func _myPrivateFunction() {
    // ...
}

팩토리 함수 규칙(Go 1.13)

Go 1.13에는 팩토리 함수 명명 규칙이 추가되었습니다. 이러한 함수는 새 개체를 생성하는 데 사용되며 "새" 접두사로 표시됩니다.

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 함수 명명 규칙의 진화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.