GO语言基础教程(70)Go函数定义和调用之函数的调用:函数召唤术:Go语言里如何优雅“调包”与“念咒”

一、前言:从“复制粘贴”到“函数召唤师”

还记得刚学编程时,我们把同样的代码复制粘贴满屏都是吗?就像念咒语时把整本魔法书都背下来——直到我遇见了函数。

在Go的世界里,函数不是枯燥的语法规则,而是你随时可以召唤的“魔法咒语”。今天,就让我们一起解锁Go函数的调用艺术,从“代码搬运工”进化成优雅的“函数召唤师”。

二、基础调用:你的第一个Go函数咒语

2.1 定义函数的“魔法公式”

在Go中定义函数,就像学习一个魔法手势:

// 魔法准备:定义一个打招呼函数
func greet(name string) {
    fmt.Printf("嘿,%s!今天代码写爽了吗?\n", name)
}

这个简单的函数就像学了一句“荧光闪烁”咒语——输入一个名字,输出一句问候。

2.2 调用函数的“咒语吟唱”

定义了函数不调用,就像学了魔法不用:

func main() {
    // 基础调用:念出咒语
    greet("码农小张")
    greet("程序媛小李")
    
    // 输出:
    // 嘿,码农小张!今天代码写爽了吗?
    // 嘿,程序媛小李!今天代码写爽了吗?
}

看,这就是最简单的函数调用!你不需要重复写同样的问候代码,只需要“召唤”greet函数,传入不同参数就行。

生活化理解:这就像点外卖——你不需要知道厨房怎么做菜(函数内部实现),只需要下单(传入参数)然后等美食上桌(获取结果)。

三、参数传递:Go语言里的“外卖订单”

3.1 值传递:收到的是“复印件”

Go默认使用值传递,这意味着:

func addScore(score int) {
    score += 10 // 修改的是副本
    fmt.Printf("函数内分数:%d\n", score) // 输出:函数内分数:85
}

func main() {
    originalScore := 75
    addScore(originalScore)
    fmt.Printf("原始分数:%d\n", originalScore) // 输出:原始分数:75
}

看到没?原始分数根本没变!这就像你给朋友发文档的复印件,他怎么涂改都不会影响你的原件。

3.2 指针传递:直接操作“原件”

想要修改原始值?请用指针:

func realAddScore(score *int) {
    *score += 10 // 通过指针修改原始值
    fmt.Printf("函数内分数:%d\n", *score) // 输出:函数内分数:85
}

func main() {
    originalScore := 75
    realAddScore(&originalScore)
    fmt.Printf("现在原始分数:%d\n", originalScore) // 输出:现在原始分数:85
}

这次原始值真的被改了

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

值引力

持续创作,多谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值