Golang 从接口切片中删除 nil{}

Jam*_*pam 3 go slice

从 interface{} 切片中删除“nil”并生成新的 interface{} 切片的最佳方法是什么?

 Slice := []interface{}{1, nil, "string", nil}
Run Code Online (Sandbox Code Playgroud)

没什么好想的?

Tim*_*per 6

newSlice := make([]interface{}, 0, len(Slice))
for _, item := range Slice {
    if item != nil {
        newSlice = append(newSlice, item)
    }
}
Run Code Online (Sandbox Code Playgroud)