登录
首页 >  Golang >  Go教程

golang函数的调用方式

时间:2024-04-21 08:41:27 202浏览 收藏

目前golang学习网上已经有很多关于Golang的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文《golang函数的调用方式》,也希望能帮助到大家,如果阅读完后真的对你学习Golang有帮助,欢迎动动手指,评论留言并分享~

Go 函数调用有两种方式:值传递和引用传递。值传递将变量的副本传递给函数,不影响原始变量的值;引用传递将变量的地址传递给函数,任何修改都将影响原始变量的值。在实战中,Add 函数使用值传递,Multiply 函数使用引用传递,以不同的方式修改变量的值。

golang函数的调用方式

Go 函数的调用方式

在 Go 语言中,函数调用可以通过值传递和引用传递两种方式实现。

值传递

值传递将一个变量的副本传递给函数,这意味着函数内的任何修改都不会影响原始变量的值。

package main

import "fmt"

func add(x int) int {
    x++  // 修改 x 的副本
    return x
}

func main() {
    y := 5
    newY := add(y)  // 传递 y 的副本
    fmt.Println(newY)  // 输出 6
    fmt.Println(y)  // 输出 5
}

引用传递

引用传递将一个变量的地址传递给函数,这意味着函数内对该变量的任何修改都会影响原始变量的值。

package main

import "fmt"

func add(x *int) {
    *x++  // 修改 x 指向的值
}

func main() {
    y := 5
    add(&y)  // 传递 y 的地址
    fmt.Println(y)  // 输出 6
}

实战案例

在以下代码中,我们定义了两个函数:AddMultiplyAdd 使用值传递,而 Multiply 使用引用传递。

package main

import "fmt"

func Add(x int) {
    x++
}

func Multiply(x *int) {
    *x *= 2
}

func main() {
    a := 5
    Add(a) // 调用 Add,使用值传递
    fmt.Println(a) // 输出 5(值不变)

    b := 10
    Multiply(&b) // 调用 Multiply,使用引用传递
    fmt.Println(b) // 输出 20(值已修改)
}

以上就是《golang函数的调用方式》的详细内容,更多关于golang,调用方式的资料请关注golang学习网公众号!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>