Go 编程:面向对象与并发编程全解析
1. 面向对象编程
对于有基于继承的面向对象编程背景(如 C++、Java 或 Python)的程序员来说,需要调整思维以适应 Go 的编程方式。Go 的鸭子类型和接口功能强大且方便,同时避免了难以维护的继承层次结构,值得投入时间学习。只要遵循 Go 的编程理念,其面向对象编程方法会非常有效。
1.1 练习题
有三个练习题,前两个相对简单,第三个较具挑战性。
- 创建 font 包 :
- 操作步骤 :
1. 创建一个名为 font 的新包,例如在 my_font/font.go 中。该包用于提供表示字体属性(如字体家族和大小)的值。
2. 实现 New() 函数,该函数接受字体家族和大小作为参数,对其进行验证,并返回一个 *Font 指针,其中包含有效的未导出字段。
3. 提供获取器(getters)和验证设置器(validating setters)。验证时,不允许空的字体家族名称,且字体大小只能在 5 到 144 点之间(包含 5 和 144)。如果给出无效值,设置有效值(对于设置器,可设置为先前的值),并记录问题。
4. 提供一个满足 fmt.Stringer 接口的方法。
- 示例代码 :
titleFont := font.New("serif", 11)
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



