我指的是前面讨论的golang代码:type TransformFunc funcinterface interface在main函数仍旧使用前面的Person结构体来举例子
好的,那么我们可以写一个TransformFunc函数,将Person结构体中的年龄加上10:
type Person struct {
Name string
Age int
}
func main() {
p := Person{Name: "Alice", Age: 20}
// 定义TransformFunc函数,将Person结构体中的年龄加上10
addAge := func(i interface{}) interface{} {
p := i.(Person)
p.Age += 10
return p
}
// 使用TransformFunc函数对p进行转换
p2 := addAge(p).(Person)
// 输出p2的信息,可以看到年龄已经加上了10
fmt.Println(p2.Name, p2.Age) // 输出:Alice 30
}
原文地址: https://www.cveoy.top/t/topic/bHHW 著作权归作者所有。请勿转载和采集!