Golang 関数の命名規則の進化は次のとおりです: 初期段階 (Go 1.0): 正式な規則はなく、キャメル命名を使用します。アンダースコア規則 (Go 1.5): エクスポートされた関数は大文字で始まり、接頭辞としてアンダースコアが付きます。ファクトリ関数の規則 (Go 1.13): 新しいオブジェクトを作成する関数は、「New」という接頭辞で表されます。
Golang 関数の命名規則は、コードの可読性、一貫性、保守性の向上を目指して、時間の経過とともに進化し続けています。
初期段階 (Go 1.0)
当初、Golang には正式な関数命名規則がありませんでした。関数名は通常、アンダースコア接頭辞のないキャメル名で構成されます。例:
func MyFunction() { // ... }
アンダースコア規則 (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 関数の命名規則の進化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。