Maison >développement back-end >Golang >Portée variable de la valeur de retour de la fonction Golang

Portée variable de la valeur de retour de la fonction Golang

WBOY
WBOYoriginal
2024-04-23 11:12:011112parcourir

La variable de valeur de retour d'une fonction Golang n'existe qu'à l'intérieur de la fonction et est détruite après l'exécution de la fonction. 1. La portée des variables est limitée à l'intérieur de la fonction, par exemple la variable résultat dans la fonction de multiplication. 2. La fonction principale peut accéder à la valeur de retour de la fonction. Par exemple, la variable avg renvoyée par la fonction calculateAvg est disponible dans la fonction principale.

Portée variable de la valeur de retour de la fonction Golang

Portée variable de la valeur de retour de la fonction Golang

Dans Golang, la portée de la variable de valeur de retour d'une fonction est limitée à la fonction. Ces variables seront détruites après l'exécution de la fonction.

Exemple de portée de variable

L'exemple suivant montre la portée d'une variable de valeur de retour de fonction :

package main

import "fmt"

func main() {
    // 在 main 函数中声明一个变量
    x := 10

    // 将 x 作为参数传递给 multiply 函数
    y := multiply(x, 5)

    // 在 main 函数中使用 y
    fmt.Println(y) // 输出:50
}

// multiply 函数返回 x * factor 的结果
func multiply(x, factor int) int {
    // 在 multiply 函数中声明一个变量
    result := x * factor

    // 返回 result
    return result
}

Exemple pratique

Considérons une fonction qui calcule une moyenne :

package main

import "fmt"

func main() {
    // 声明一个 []int 类型的 slice
    numbers := []int{1, 2, 3, 4, 5}

    // 计算平均数
    avg := calculateAvg(numbers)

    // 在 main 函数中使用 avg
    fmt.Println(avg) // 输出:3
}

// calculateAvg 函数计算给定 slice 的平均数并返回结果
func calculateAvg(numbers []int) float64 {
    // 在 calculateAvg 函数中声明一个变量
    sum := 0

    // 计算总和
    for _, num := range numbers {
        sum += num
    }

    // 计算平均数
    avg := float64(sum) / float64(len(numbers))

    // 返回 avg
    return avg
}

Dans cet exemple, avg 变量在 calculateAvg 函数内声明。因此,一旦函数执行完成,avg 变量及其值将被销毁。但是,因为我们在 main 函数中使用了 avg 的返回值,我们在 main ceci est toujours accessible dans la fonction valeur.

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