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

相关推荐
小李小李快乐不已3 分钟前
贪心算法理论基础
c++·算法·leetcode·贪心算法
爱喝热水的呀哈喽3 分钟前
子模代数。
算法·编辑器
qq_430855886 分钟前
线代第三章向量第三节:向量间的线性关系二
人工智能·算法·机器学习
AC赳赳老秦7 分钟前
CSV大文件处理全流程:数据清洗、去重与格式标准化深度实践
大数据·开发语言·人工智能·python·算法·机器学习·deepseek
AndrewHZ11 分钟前
【图像处理基石】光线追踪(Ray Tracing)算法入门
图像处理·人工智能·算法·计算机视觉·计算机图形学·光线追踪·渲染技术
橘颂TA16 分钟前
【剑斩OFFER】算法的暴力美学——两数相加
c++·算法·结构与算法
youngee1117 分钟前
hot100-54在排序数组中查找元素的第一个和最后一个位置
数据结构·算法·leetcode
草莓熊Lotso18 分钟前
《算法闯关指南:递归,搜索与回溯算法--递归》--02. 合并两个有序链表,03. 反转链表
运维·数据结构·算法·链表
XFF不秃头18 分钟前
力扣刷题笔记-和为 K 的子数组
c++·笔记·算法·leetcode
MicroTech202520 分钟前
区块链赋能,联邦协同:微算法科技(NASDAQ: MLGO)打造物联网安全分布式检测新架构
科技·算法·区块链