【GO】结构体构造函数练习题

张开发
2026/5/3 22:36:24 15 分钟阅读
【GO】结构体构造函数练习题
基础构造函数题目描述定义结构体Student包含字段姓名 name string年龄 age int成绩 score float64实现构造函数NewStudent(name string, age int, score float64) *Student要求年龄必须 ≥ 0否则默认设为 0成绩必须在 0~100 之间否则默认设为 0返回结构体指针在 main 中创建对象并打印信息。输出示例{name:小明 age:18 score:90}实现代码package main import fmt type Student struct { name string age int score float64 } func NewStudent(name string, age int, score float64) *Student { if age 0 { age 0 } if score 0 || score 100 { score 0 } return Student{ name: name, age: age, score: score, } } func main() { stu : NewStudent(小明, 18, 90) fmt.Printf(%v\n, stu) }带默认值的构造函数题目描述定义结构体Car品牌 brand颜色 color最高时速 maxSpeed实现两个构造NewCar(brand, color string, maxSpeed int) *CarNewDefaultCar() *Car默认品牌为 “大众”颜色 “白色”时速 120创建默认车对象并打印。输出示例{brand:大众 color:白色 maxSpeed:120}实现代码package main import fmt type Car struct { brand string color string maxSpeed int } func NewCar(brand, color string, maxSpeed int) *Car { return Car{brand, color, maxSpeed} } func NewDefaultCar() *Car { return NewCar(大众, 白色, 120) } func main() { car : NewDefaultCar() fmt.Printf(%v\n, car) }

更多文章