Question: I have a line containing 3 numbers that I want to read from stdin with fmt.Scanln() but this code won't work: 

```
X := make([]int, 3)
fmt.Scanln(X...)
fmt.Printf("%v\n", X)

```

I get this error message: 

```
cannot use X (type []int) as type []interface {} in function argument

```

I don't get it.

Answer: 
For example,

```
package main

import "fmt"

func intScanln(n int) ([]int, error) {
    x := make([]int, n)
    y := make([]interface{}, len(x))
    for i := range x {
        y[i] = &x[i]
    }
    n, err := fmt.Scanln(y...)
    x = x[:n]
    return x, err
}

func main() {
    x, err := intScanln(3)
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Printf("%v\n", x)
}

```

Input:

```
1 2 3

```

Output:

```
[1 2 3]

```
I think the the correct version should be

```
X := make([]int, 3)
fmt.Scanln(&X[0], &X[1], &X[2])
fmt.Printf("%v\n", X)

```