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

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

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

下面代码的输出是什么?

package main

import "fmt"

type Test struct {

array []int

str string

}

func asign(t Test) {

t.array[0] = 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.array[0])

fmt.Println(t.str)

}

【解答】

88

I Love Go

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

str 是字符串,为值传递。

相关推荐
wayz1111 小时前
Day 9 :随机森林调参与时间序列交叉验证
算法·随机森林·机器学习
️是7812 小时前
信息奥赛一本通—编程启蒙(3371:【例64.2】 生日相同)
开发语言·c++·算法
ZPC821012 小时前
ROS2 快过UDP的方法
python·算法·机器人
周末也要写八哥12 小时前
最长递增子序列典型应用题目详解
数据结构·算法
不会写DN12 小时前
为什么map查找时间复杂度是O(1)?
算法·哈希算法·散列表
始三角龙12 小时前
LeetCode hoot 100 -- 找到字符串中的所有字母异位词
算法·leetcode·职场和发展
abant212 小时前
leetcode 45 跳跃问题2 很难的贪心
算法·leetcode·职场和发展
小糯米60112 小时前
C语言指针3
c语言·数据结构·算法
ZPC821012 小时前
ROS2 通信提速快过UDP
人工智能·算法·机器人
RD_daoyi12 小时前
谷歌2026年 3 月核心更新深度解析:SEO 从内容优化到信息供给系统的全面重构
人工智能·算法·重构