nil用法
nil
是一个有效的长度为 0 的 slice,这意味着,
不应明确返回长度为零的切片,应该返回
nil
来代替。//bad uasge if x == "" { return []int{} } //good usage if x == "" { return nil }
要检查切片是否为空,请始终使用
len(s) == 0
,而非nil
。//bad uasge func isEmpty(s []string) bool { return s == nil } //good usage func isEmpty(s []string) bool { return len(s) == 0 }
零值切片(用
var
声明的切片)可立即使用,无需调用make()
创建。//bad uasge nums := []int{} // or, nums := make([]int) if add1 { nums = append(nums, 1) } if add2 { nums = append(nums, 2) } //good usage var nums []int if add1 { nums = append(nums, 1) } if add2 { nums = append(nums, 2) }
Last updated
Was this helpful?