感觉 pub/priv 访问控制声明稍微有点复杂,建议只保留 pub 一个关键字,默认不可访问,只需记住一条规则

与 mut 规则类似,更简单,更具有统一性,易于分辨、理解

事实上访问控制并没有那么简单,因为有

  • 完全不可见(priv):用于内部实现,不暴露给库用户
  • 可见类型不可见属性(默认):暴露给库用户,但封装所有操作
  • 可见类型可见属性不可使用构造器(pub(readonly)):暴露给库用户,暴露构造,但封装构造操作
  • 可见类型可见构造器(pub):库用户可进行任何操作