基本声明
package main
import (
"fmt"
)
// User 结构体描述了一个用户
type User struct {
FirstName, LastName string
Email string
Age int
userID int
}
// FullName 方法返回一个用户的全名
func (u *User) FullName() string {
return fmt.Sprintf("%s %s", u.FirstName, u.LastName)
}
func main() {
// 零值结构体
var u User
fmt.Printf("u: %#v\n\n", u)
// pu 的类型是 *User, 即一个指向User结构体的指针
pu := new(User)
pu.Age = 33
fmt.Printf("*pu: %#v\n", *pu)
// &User{} 跟 new(User) 是等价的
pu = &User{}
pu.Age = 18
fmt.Printf("*pu: %#v\n", *pu)
pu.FirstName, pu.LastName = "Jane", "Doe"
fmt.Printf("pu.FullName(): %s\n", pu.FullName())
}最后更新于