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

相关推荐
lueluelue474 分钟前
LeetCode:链表
算法·leetcode·链表
陈随易12 分钟前
FFmpeg 9.0 发布,代号 Lei,音视频处理再升级
前端·后端·程序员
橘子汽水1683 小时前
Leetcode 23,543合并K个升序链表,二叉树的直径
算法·leetcode·链表
huameinan狮子3 小时前
Adaboost算法原理与计算实例
算法
别怪我很水3 小时前
API中提供了VelocityTracker类用于计算触摸事件MotionEvent的速度,而其内部默认使用的方法就是最小二乘法,本 ...
算法·gitee·最小二乘法
dong_junshuai6 小时前
每天一个开源项目#59 AirLLM:27.6K星,3.72GB显存跑2.8T模型
人工智能·程序员·github
文心快码BaiduComate6 小时前
Comate 已支持DeepSeek-V4-Flash 正式版
人工智能·程序员
Re.不晚6 小时前
挑战做100道力扣算法- DAY1
算法·leetcode·职场和发展
蓝悦无人机7 小时前
《Planning algorithms》读书笔记——第1章 引言
算法·读书笔记·规划算法·lavalle