Go 中的 值传递函数

首页 / Golang入门教程 / Go 中的 值传递函数

将参数传递给函数的按值调用方法会将参数的实际值复制到函数的参数中。在这种情况下,对函数内部参数的更改不会影响参数。

默认情况下,Go编程语言使用按值调用方法传递参数,通常,这意味着函数内的代码无法更改用于调用函数的参数,考虑如下函数 swap()的定义。

/* 交换值的函数定义 */
func swap(int x, int y) int {
   var temp int

   temp=x /* 将x值保存在temp变量中 */
   x=y    /* 将y值保存在x中 */
   y=temp /* 将tmp变量值写入y中 */

   return temp;
}

现在,让我们通过传递实际值来调用函数 swap(),如以下示例所示-

链接:https://www.learnfk.comhttps://www.learnfk.com/go/go-function-call-by-value.html

来源:LearnFk无涯教程网

package main

import "fmt"

func main() {
   /* 局部变量定义 */
   var a int=100
   var b int=200

   fmt.Printf("Before swap, value of a : %d\n", a )
   fmt.Printf("Before swap, value of b : %d\n", b )

   /* 调用函数来交换值 */
   swap(a, b)

   fmt.Printf("After swap, value of a : %d\n", a )
   fmt.Printf("After swap, value of b : %d\n", b )
}
func swap(x, y int) int {
   var temp int

   temp=x /* 保存 x 的值 */
   x=y    /* 将 y 放入 x */
   y=temp /* 将temp值放入 y */

   return temp;
}

将上面的代码放在单个C文件中,然后编译并执行它。它将产生以下输出-

Before swap, value of a :100
Before swap, value of b :200
After swap, value of a :100
After swap, value of b :200

它表明,尽管在函数内部对其进行了更改,但这些值没有任何变化。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

白话法律42讲 -〔周甲徳〕

Serverless入门课 -〔蒲松洋(秦粤)〕

分布式系统案例课 -〔杨波〕

To B市场品牌实战课 -〔曹林〕

全链路压测实战30讲 -〔高楼〕

Spring Cloud 微服务项目实战 -〔姚秋辰(姚半仙)〕

大厂广告产品心法 -〔郭谊〕

React Native 新架构实战课 -〔蒋宏伟〕

Kubernetes入门实战课 -〔罗剑锋〕

好记忆不如烂笔头。留下您的足迹吧 :)