GoLang教程——函数与方法
函数是 Go 程序的基本构建单元。Go 语言中的函数非常灵活,支持多返回值,并且可以为特定的类型定义方法(类似于面向对象中的成员函数)。本章将带你快速掌握函数的定义、调用以及方法的绑定。 示例代码 先看一个完整的可运行示例,展示了普通函数、多返回值以及方法的用法。 1package main 2 3import "fmt" 4 5// add 是一个普通函数,接收两个 int 参数,返回一个 int 结果 6func add(a, b int) int { 7 return a + b 8} 9 10// swap 演示多返回值,交换输入的两个字符串 11func swap(x, y string) (string, string) { 12 return y, x 13} 14 15// 定义一个简单的结构体 User 16type User struct { 17 Name string 18 Age int 19} 20 21// SayHello 是绑定到 User 结构体的方法 22// (u User) 称为接收者(Receiver) 23func (u User) SayHello() { 24 fmt.Printf("Hello, my name is %s and I am %d years old.\n", u.Name, u.Age) 25} 26 27// 只有指针接收者才能修改结构体内部的值 28func (u *User) Grow() { 29 u.Age++ 30} 31 32func main() { 33 // 1. 调用普通函数 34 sum := add(10, 20) 35 fmt.Println("10 + 20 =", sum) 36 37 // 2. 调用多返回值函数 38 a, b := swap("hello", "world") 39 fmt.Println(a, b) // world hello 40 41 // 3. 调用方法 42 user := User{Name: "Hank", Age: 18} 43 user.SayHello() 44 45 // 调用指针接收者方法修改状态 46 user.Grow() 47 fmt.Printf("Age after grow: %d\n", user.Age) // 19 48} 关键点解释 函数声明 使用 func 关键字。类型在变量名之后,这是 Go 的特色之一。 ...