Arrays Go Lang打印输入数组

Arrays Go Lang打印输入数组,arrays,input,go,Arrays,Input,Go,我正在学习Go lang,在打印输入的数组时遇到了一个问题。我的代码如下: package main import ( "fmt" ) func main() { var n int fmt.Scan(&n) set(n) } func set(n int) { a := make([]int, n) for i := 0; i < n; i++ { fmt.Scan(&a[i]) } f

我正在学习Go lang,在打印输入的数组时遇到了一个问题。我的代码如下:

package main

import (
    "fmt"
)

func main() {
    var n int
    fmt.Scan(&n)
    set(n)
}

func set(n int) {
    a := make([]int, n)
    for i := 0; i < n; i++ {
        fmt.Scan(&a[i])
    }
    for y := 0; y < n; y++ {
        fmt.Println(a[y])
    }
    return
}
主程序包
进口(
“fmt”
)
func main(){
变量n int
格式扫描(&n)
集合(n)
}
func集(n int){
a:=make([]整数,n)
对于i:=0;i
我的问题是,当输入一个数字作为数组的大小时,该数字也会被打印出来。
例如,当我输入8作为数组大小,然后后跟数组值时,例如10 9 8 7 6 5 4 3,我得到了错误的输出:8 10 9 8 7 6 5 4。Iit应该是10 9 8 7 6 4 3。

还不能复制问题。用于:

主程序包
进口(
“字节”
“fmt”
“io”
)
func main(){
变量n int
sampleInput:=bytes.NewBufferString(“3 1 2 3”)
fmt.Fscan(样本输入(&n)
设置(采样输入,n)
}
函数集(输入io.Reader,n int){
a:=make([]整数,n)
对于i:=0;i
是您程序的变体。它具有预期的行为:它将读取到片中的数字1、2、3打印出来。

package main
package main
import ("fmt")
func main() {
  var n int
  fmt.Scan(&n)
  set(n)
}

func set(n int) {
  a := make([]int, n)
  for i := 0; i < n; i++ {
      fmt.Scan(&a[i])
    }
  fmt.Println(a)
 }
进口(“fmt”) func main(){ 变量n int 格式扫描(&n) 集合(n) } func集(n int){ a:=make([]整数,n) 对于i:=0;i
i:=0
变量a[5]int

对于(我看不出任何错误。尝试一次打印整个阵列。我无法复制,您使用的是什么版本的Go?以及什么操作系统?工作正常:对于Go版本和操作系统,发布
Go版本
命令的输出。我使用Go版本1.3。以及操作系统Windows+LiteIDE。请添加一些说明-仅针对代码的答案
package main
import ("fmt")
func main() {
  var n int
  fmt.Scan(&n)
  set(n)
}

func set(n int) {
  a := make([]int, n)
  for i := 0; i < n; i++ {
      fmt.Scan(&a[i])
    }
  fmt.Println(a)
 }
i:=0
var a[5] int
for(i<5){
fmt.Print("Enter Input")
var input int
fmt.Scanf("%d",&input)
a[i]=input
i+=1
}
fmt.Print(a)