Go 语言结构体参数不支持直接设置默认值,但是可以通过以下两种方式实现:

  1. 使用指针类型参数,并在函数中判断是否为 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
}
  1. 使用结构体构造函数。
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}
}
Go 语言结构体参数设置默认值方法

原文地址: https://www.cveoy.top/t/topic/okWe 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录