Maison > développement back-end > Golang > Comment éviter la duplication de code au sein des fonctions Golang ?

Comment éviter la duplication de code au sein des fonctions Golang ?

WBOY
Libérer: 2024-04-12 11:24:02
original
601 Les gens l'ont consulté

Pour éviter la duplication de code dans les fonctions Go, vous pouvez utiliser les méthodes suivantes : Utiliser des fonctions en ligne : intégrer le corps de la fonction dans l'appel de fonction et réduire le nombre de lignes de code. Utiliser des fonctions anonymes : définissez des fonctions sans nom qui peuvent être exécutées immédiatement ou transmises à d'autres fonctions sans nommer ni appeler. Créez une bibliothèque d'extensions : encapsulez la logique commune et importez le même bloc de code dans plusieurs fonctions pour réaliser la réutilisation du code.

Comment éviter la duplication de code au sein des fonctions Golang ?

Comment éviter la duplication de code dans les fonctions Go

Introduction

Lors de l'écriture du code Go, vous pouvez rencontrer une duplication de code, ce qui rend le code difficile à maintenir et sujet aux erreurs. Pour éviter la duplication de code, vous pouvez utiliser plusieurs fonctionnalités fournies par Go.

Utilisation des fonctions en ligne

Les fonctions en ligne vous permettent d'intégrer le corps d'une fonction dans un appel à une autre fonction. Cela élimine le besoin de créer des fonctions distinctes, réduisant ainsi les lignes de code et les erreurs potentielles.

func main() {
    fmt.Println(sum(1, 2))
}

func sum(a, b int) int {
    return a + b
}
Copier après la connexion

Utiliser des fonctions anonymes

Les fonctions anonymes vous permettent de définir une fonction sans nom qui peut être exécutée immédiatement ou passée à une autre fonction. Cela élimine le besoin de nommer la fonction et de l'appeler.

func main() {
    fmt.Println(func(a, b int) int { return a + b }(1, 2))
}
Copier après la connexion

Créez votre propre bibliothèque d'extensions

Si vous utilisez souvent le même bloc de code pour plusieurs fonctions, vous pouvez envisager de créer votre propre bibliothèque d'extensions et de l'importer dans votre programme. Cela permet d’encapsuler la logique commune et de simplifier le code.

// utils.go
package utils

import "fmt"

// Sum returns the sum of two integers.
func Sum(a, b int) int {
    return a + b
}

// main.go
package main

import "github.com/username/customlib/utils"

func main() {
    fmt.Println(utils.Sum(1, 2))
}
Copier après la connexion

Cas pratique

Supposons que vous ayez une fonction qui doit effectuer plusieurs opérations sur la chaîne d'entrée, telles que le découpage, la conversion des majuscules et des minuscules. Vous ne souhaitez pas diviser ces opérations en fonctions distinctes, mais vous souhaitez éviter la duplication de code.

Vous pouvez éviter cela en utilisant une fonction anonyme :

func formatString(s string) string {
    f := func(op string) string {
        switch op {
        case "trim":
            return strings.TrimSpace(s)
        case "upper":
            return strings.ToUpper(s)
        case "lower":
            return strings.ToLower(s)
        default:
            return s
        }
    }

    return f("trim") + f("upper") + f("lower")
}
Copier après la connexion

Cette fonction peut être appelée comme suit :

s := "  Hello, World!  "
fmt.Println(formatString(s))
// 输出:
// HELLO, WORLD!hello, world!
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal