《零基础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 是字符串,为值传递。

相关推荐
远远远远子13 分钟前
类与对象 --1
开发语言·c++·算法
Aaplloo16 分钟前
【无标题】
人工智能·算法·机器学习
西望云天31 分钟前
The 2024 ICPC Asia Nanjing Regional Contest(2024南京区域赛EJKBG)
数据结构·算法·icpc
10岁的博客39 分钟前
容器化安装新玩法
算法
不会算法的小灰40 分钟前
HTML简单入门—— 基础标签与路径解析
前端·算法·html
flashlight_hi2 小时前
LeetCode 分类刷题:1901. 寻找峰值 II
python·算法·leetcode
深瞳智检2 小时前
YOLO算法原理详解系列 第007期-YOLOv7 算法原理详解
人工智能·算法·yolo·目标检测·计算机视觉·目标跟踪
郝学胜-神的一滴3 小时前
中秋特别篇:使用QtOpenGL和着色器绘制星空与满月
开发语言·c++·算法·软件工程·着色器·中秋
qiuiuiu4133 小时前
CPrimer Plus第十六章C预处理器和C库总结2-qsort函数
java·c语言·算法