封装就是把抽象出的字段和对字段的操作封装在一起,数据被保护在内部,数据的其他包只有通过被授权的操作方法才能对字段进行操作。

封装的好处

  • 隐藏实现细节
  • 可以对数据进行验证,保证安全合理

如何实现封装?

  • 建议将结构体、字段(属性)的首字母小写(其他包不能使用,类似于private)
  • 给结构体所在包提供一个工厂模式的函数,首字母大写(类似于构造函数)
  • 提供一个首字母大写的set方法,用于对属性进行判断并赋值

          func (var 结构体类型名)SetXxx(参数列表) {

                 //加入数据验证的业务逻辑

                  var.字段=数值

           }

  • 提供一个首字母大写的Get方法,用于获取属性的值

     func (var 结构体类型名)GetXxx(参数列表) {

        return var.字段

    }

封装_封装

封装_封装_02

go