Golang Day2
Struct & Pointer
不多說,直接進程式碼吧
package main
import(
"fmt"
)
type Info struct{
age int
name string
}
func (i *Info) GetAge() int{
return i.age
}
func (i *Info) GetName() string{
return i.name
}
func (i *Info) SetAge(newAge int) {
i.age = newAge
}
//call by address (只是為了示範)
func AfterYears(inAge *int,years int) int{
*inAge+=years
return *inAge
}
//call by value
func AfterYears(inAge int,years int) (newAge int){
newAge = inAge + years
return
}
func main() {
Peter :=Info{
age:18,
name:"Peter",
}
fmt.Println(Peter)
fmt.Println(Peter.GetAge())
Peter.SetAge(AfterYears(&Peter.age,5))
fmt.Println(Peter.GetAge())
}
注意事項
- 在 Golang 中,Slice、Map 皆屬於 Pointer 型別
Q:
- 在 Golang 中 struct 變數是屬於 Pointer 型別嗎 ?
0 意見