Maison  >  Article  >  développement back-end  >  L'évolution de la convention de dénomination des fonctions Golang

L'évolution de la convention de dénomination des fonctions Golang

PHPz
PHPzoriginal
2024-05-01 15:24:01602parcourir

La convention de dénomination des fonctions Golang évolue comme suit : Début (Go 1.0) : Aucune convention formelle, utilisez le nommage des chameaux. Convention de soulignement (Go 1.5) : les fonctions exportées commencent par une lettre majuscule et sont préfixées par un trait de soulignement. Convention des fonctions d'usine (Go 1.13) : les fonctions qui créent de nouveaux objets sont représentées par le préfixe "Nouveau".

Lévolution de la convention de dénomination des fonctions Golang

Évolution des conventions de dénomination des fonctions Golang

Les conventions de dénomination des fonctions Golang ont évolué au fil du temps pour améliorer la lisibilité, la cohérence et la maintenabilité du code.

Early Stage (Go 1.0)

Au départ, Golang n'avait pas de convention formelle de dénomination des fonctions. Les noms de fonctions consistent généralement en un nom de chameau sans préfixe de soulignement, par exemple :

func MyFunction() {
    // ...
}

Convention de soulignement (Go 1.5)

Go 1.5 a introduit la convention de soulignement, exigeant que les fonctions exportées commencent par une lettre majuscule et soient préfixées par un trait de soulignement. . Cela permet de distinguer les fonctions API publiques des fonctions non exportées :

func MyPublicFunction() {
    // ...
}

func _myPrivateFunction() {
    // ...
}

Convention des fonctions d'usine (Go 1.13)

Go 1.13 ajoute une convention de dénomination des fonctions d'usine. Ces fonctions sont utilisées pour créer de nouveaux objets et sont représentées par le préfixe "Nouveau" :

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

Un exemple pratique

Voici un morceau de code qui montre ces conventions en action :

package main

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

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

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

func _myPrivateFunction() {
    // ...
}

func MyPublicFunction() {
    // ...
}

type MyObject struct {
    // ...
}

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

En suivant ces conventions, nous peut améliorer la clarté et la cohérence de notre code Golang.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn