将nil值附加到接口切片会导致切片保持0值。 [0]
var values []interface{}
values = append(values, nil)
然而,这样做,
values[0] = nil
达到我的预期。它导致切片保持零值
[<nil>]
我需要将nil值传递给我的db驱动程序。这是怎么回事?
答案 0 :(得分:3)
我无法重现您的问题:append(values, nil)
正确附加nil包装为接口:
package main
import "fmt"
func main() {
var values []interface{}
values = append(values, nil)
fmt.Printf("%#v", values) // == []interface {}{interface {}(nil)}
}