状态类型
题目描述
基于
bool定义新类型Status为
Status实现方法:String() string规则:
值为true返回"启用"值为false返回"禁用"在 main 函数中测试并打印
输出示例
状态1: 启用
状态2: 禁用
实现代码
Go
package main
import "fmt"
// 自定义状态类型
type Status bool
// 为 Status 实现 String() 方法(状态说明)
func (s Status) String() string {
if s {
return "启用"
}
return "禁用"
}
func main() {
// 定义启用、禁用两种状态
on := Status(true)
off := Status(false)
// 调用方法输出状态
fmt.Println("状态1:", on.String())
fmt.Println("状态2:", off.String())
}
计数器类型
题目描述
基于
int定义新类型Counter为
Counter实现三个方法:
Increment():计数器 自增 1Decrement():计数器 自减 1GetValue() int:获取当前计数器的值在 main 函数中测试功能
输出示例
自增2次后: 2
自减1次后: 1
实现代码
Go
package main
import "fmt"
// 自定义计数器类型
type Counter int
// 自增方法(指针接收者:修改自身值)
func (c *Counter) Increment() {
*c++
}
// 自减方法(指针接收者:修改自身值)
func (c *Counter) Decrement() {
*c--
}
// 获取当前值(值接收者:只读)
func (c Counter) GetValue() int {
return int(c)
}
func main() {
// 初始化计数器
var count Counter = 0
// 自增 2 次
count.Increment()
count.Increment()
fmt.Println("自增2次后:", count.GetValue()) // 2
// 自减 1 次
count.Decrement()
fmt.Println("自减1次后:", count.GetValue()) // 1
}