Golang 不能访问的类型变量如何解决
通过一个工厂模式实现一个不能访问的类型变量
package model
//通过一个工厂模式去实现一个只能在本包访问的类型变量
type student struct {
Name string
age int
}
func GetStudent(n string , m int) *student{
return &student{
Name n,
age m
}
}
// 因为age也是小写的不能直接被访问,需要单独使用工厂
func(s *student)GetAge() int{
return s.age
}
上面的代码是其它包通过调用该代码所在包的GetStudent的方法获取student的实例,例如:
package main
import(
"fmt"
"model"
)
func main(){
var student = model.GetStudent("carver",18)
fmt.Println("student信息:",*student,"姓名:",student.Name,"年龄:",student.GetAge)
}
本文来自博客园,作者:Carver大脸猫,转载请注明原文链接:https://www.cnblogs.com/carver/articles/18450407

浙公网安备 33010602011771号