《零基础Go语言算法实战》【题目 2-5】函数参数的值传递和引用传递

《零基础Go语言算法实战》

【题目 2-5】函数参数的值传递和引用传递

下面代码的输出是什么?

package main

import "fmt"

type Test struct {

array \[\]int

str string

}

func asign(t Test) {

t.array0 = 88

t.str = "Go is good"

}

func main() {

var t = Test{

array: \[\]int{66, 6, 88},

str: "I Love Go",

}

asign(t)

fmt.Println(t.array0)

fmt.Println(t.str)

}

【解答】

88

I Love Go

原因:调用 asign()函数时,虽然是传值,但在asign()函数中,字段array是切片,为引用传递;

str 是字符串,为值传递。

相关推荐
東隅已逝,桑榆非晚1 分钟前
算法1. 双指针法-移动零
c++·算法
AskHarries1 小时前
如何找种子用户
程序员
CQU_JIAKE1 小时前
11.1[A]
算法
小郎君6581 小时前
(六)el-cascader 的展示值为什么不能直接 join:emitPath、路径还原与多选去重
vue.js·算法
Hilaku1 小时前
前端的技术判断力是怎么练出来的?
前端·javascript·程序员
timegogo2 小时前
Emoji 语义化搜索
程序员·github
挖掘狂人2 小时前
同一个端口能不能被两个程序同时监听?
java·后端·程序员
codigger2 小时前
同一个端口能不能被两个程序同时监听?
java·后端·程序员·编程
Rain的Java大神之路3 小时前
我,13年Java老兵,建了个免费网站,公开叫板“Java已死”:没有广告,没有付费墙,151个页面全是踩坑干货
java·后端·程序员
郝学胜-神的一滴3 小时前
游戏设计:原型与开发 19:U3D工位布置与性格说明书
人工智能·算法·unity·unreal engine·游戏策划·游戏设计