我从 github 中的一些有用的包中找到了下面的案例,它看起来非常丑陋和愚蠢。我觉得更好的代码设计可以避免这种情况,但是如果遇到这种情况,是不是可以写的更简洁一些呢?
有没有更好的方法来代替连续检查切片长度?
package main
type NumberSet struct {
SetName string
Number1 int
Number2 int
Number3 int
}
func main() {
set := &NumberSet{SetName: "test"}
var numbers []int
// assume that we don't know the actual length of slice
numbers = append(numbers, 1)
numbers = append(numbers, 2)
length := len(numbers)
if length > 0 {
set.Number1 = numbers[0]
}
if length > 1 {
set.Number2 = numbers[1]
}
if length > 2 {
set.Number3 = numbers[2]
}
}
慕娘9325324
相关分类