```
func main() {
    strSlice := []string{"a", "b", "c"}
    f(strSlice)
}

func f(slice interface{}) {
    anySlice, isSlice := slice.([]interface{})
    fmt.Printf("isSlice = %t, anySlice = %#v\n", isSlice, anySlice)
}

```

Playground: <https://play.golang.org/p/UN25mIOqmOd>

This program prints `isSlice = false, anySlice = []interface {}(nil)`. Why is that?
I would have expected this type asssertion to be possible.

And: Is there a way to dynamically check that interface{} is a slice of something?