如何在Golang中实现函数_Golang函数定义、参数与返回值使用方法-Golang

Go函数必须显式声明返回类型,不支持推导;参数均为值传递,修改原值需传指针;多返回值用括号包裹;命名返回值易致隐式return和零值bug,应慎用。

函数定义必须显式声明返回类型

Go 不支持类型推导的函数返回值,func 声明里返回类型不能省略,哪怕返回 error 或空结构体也要写清楚。漏写会导致编译错误 missing function body 或 syntax error: unexpected semicolon。

常见写法示例:

func add(a, b int) int {
    return a + b
}

func split(n int) (int, int) {
    return n / 2, n % 2
}

func doSomething() (string, error) {
    return "done", nil
}
  • 多返回值必须用括号包裹,如 (int, int),不能写成 int, int
  • 命名返回值(如 func foo() (x, y int))会让变量在函数体内自动声明,但容易掩盖未赋值 bug,慎用
  • 如果函数不返回任何值,括号仍需保留:必须写 func noop() {},不能写 func noop {}

参数传递是值拷贝,指针用于修改原值

Go 所有参数都是值传递——包括 slice、map、chan 和 interface{}。它们底层含指针字段,所以“看起来”能修改底层数组或哈希表,但变量本身(如 slice header)仍是拷贝。

真正需要修改调用方变量内容时,得传指针:

夏夕资源网专注于CMS网站模板,主流语言整站网站源码下载,网站建设相关教程分享,好用的软件素材整合下载,提供一站式便捷自助服务。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"zy.lucklyus.top",如遇到无法解压的请联系管理员!
夏夕资源网-网站模板_免费源码_资源素材 » 如何在Golang中实现函数_Golang函数定义、参数与返回值使用方法-Golang
在线时间:12:00 - 22:00
关注微信公众号:微信公众号
站长邮箱:[email protected]
  • 运营天数: 1391+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 3999375+
  • 本周更新: 0+
  • 最后更新: 2026-03-16

本站指数

×
  • 运营天数: 1391+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 3999375+
  • 本周更新: 0+
  • 最后更新: 2026-03-16