1、結構體做函數參數值傳遞
示例:
package main //必須有個main包
import "fmt"
//定義一個結構體類型
type Student struct {
id int
name string
sex byte //字符類型
age int
addr string
}
func test01(s Student) {
s.id = 666
fmt.Println("test01: ", s)
}
func main() {
s := Student{1, "mike", 'm', 18, "bj"}
test01(s) //地址傳遞
fmt.Println("main: ", s)
}
執行結果:
test01: {666 mike 109 18 bj}
main: {1 mike 109 18 bj}
2、結構體做函數參數:地址傳遞
示例:
package main //必須有個main包
import "fmt"
//定義一個結構體類型
type Student struct {
id int
name string
sex byte //字符類型
age int
addr string
}
func test02(p *Student) {
p.id = 666
}
func main() {
s := Student{1, "mike", 'm', 18, "bj"}
test02(&s) //地址傳遞(引用傳遞),形參可以改實參
fmt.Println("main: ", s)
}
執行結果:
main: {666 mike 109 18 bj}
