27、Go 编程:面向对象与并发编程全解析

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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值