student.go
package model
type student struct {
Name string
age int
}
// 结构体student 首字母小写,因此只能在 model 内部使用
// 如果想外部调用,我们可以通过工厂模式解决
func NewStudent(name string, age int) *student {
return &student{
Name: name,
age: age,
}
}
// 如果 score 字段首字母小写,则其他包不可以调用,我们可以提供一个方法来调用
func (s *student) GetAge() int {
return s.age
}
package model
type student struct {
Name string
age int
}
// 结构体student 首字母小写,因此只能在 model 内部使用
// 如果想外部调用,我们可以通过工厂模式解决
func NewStudent(name string, age int) *student {
return &student{
Name: name,
age: age,
}
}
// 如果 score 字段首字母小写,则其他包不可以调用,我们可以提供一个方法来调用
func (s *student) GetAge() int {
return s.age
}
package model type student struct { Name string age int } // 结构体student 首字母小写,因此只能在 model 内部使用 // 如果想外部调用,我们可以通过工厂模式解决 func NewStudent(name string, age int) *student { return &student{ Name: name, age: age, } } // 如果 score 字段首字母小写,则其他包不可以调用,我们可以提供一个方法来调用 func (s *student) GetAge() int { return s.age }
main.go
package main
import (
"fmt"
"tianqi-api/tests/study/factory/model"
)
func main() {
var stu = model.NewStudent("gopher.cc", 10)
fmt.Println("name =", stu.Name, " age =", stu.GetAge())
}
package main
import (
"fmt"
"tianqi-api/tests/study/factory/model"
)
func main() {
var stu = model.NewStudent("gopher.cc", 10)
fmt.Println("name =", stu.Name, " age =", stu.GetAge())
}
package main import ( "fmt" "tianqi-api/tests/study/factory/model" ) func main() { var stu = model.NewStudent("gopher.cc", 10) fmt.Println("name =", stu.Name, " age =", stu.GetAge()) }