Вы можете попробовать что-то вроде этого. Это будет читать первое число, которое является размером массива, который вы хотите создать, затем на следующей строке будут элементы длины (n) в массиве
import (
"bufio"
"fmt"
"io"
"os"
"strconv"
"strings"
)
func main() {
reader := bufio.NewReaderSize(os.Stdin, 1024 * 1024)
nTemp, err := strconv.ParseInt(readLine(reader), 10, 64)
checkError(err)
n := int32(nTemp)
arrTemp := strings.Split(readLine(reader), " ")
var arr []int32
for i := 0; i < int(n); i++ {
arrItemTemp, err := strconv.ParseInt(arrTemp[i], 10, 64)
checkError(err)
arrItem := int32(arrItemTemp)
arr = append(arr, arrItem)
}
fmt.Printf("%#v, arr", arr)
}
Так что, когда я пытаюсь с вашим например:
5
1 2 3 4 5
// I get the following:
[]int32{1, 2, 3, 4, 5}, arr
Заданный вами вопрос, кажется, часто встречается на таких сайтах, как Hackerrank в любом из представленных вопросов.