通过使其成员不导出并提供阅读器,可以在其程序包外部将结构设为只读。例如:
package mypackagetype myReadonly struct { value int}func (s myReadOnly) Value() int { return s.value}func NewMyReadonly(value int) myReadOnly{ return myReadOnly{value: value}}和用法:
myReadonly := mypackage.NewMyReadonly(3)fmt.Println(myReadonly.Value()) // Prints 3



