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 意見