Go 语言结构体参数设置默认值方法
Go 语言结构体参数不支持直接设置默认值,但是可以通过以下两种方式实现:
- 使用指针类型参数,并在函数中判断是否为 nil,如果为 nil 则设置默认值。
type Person struct {
Name string
Age int
}
func NewPerson(name string, age *int) *Person {
p := &Person{Name: name}
if age == nil {
p.Age = 18 // 设置默认值
} else {
p.Age = *age
}
return p
}
- 使用结构体构造函数。
type Person struct {
Name string
Age int
}
func NewPerson(name string, age int) *Person {
if age <= 0 {
age = 18 // 设置默认值
}
return &Person{Name: name, Age: age}
}
原文地址: https://www.cveoy.top/t/topic/okWe 著作权归作者所有。请勿转载和采集!