Arrays 将数组作为golang中的输入

Arrays 将数组作为golang中的输入,arrays,go,Arrays,Go,我如何在golang中接受数组作为输入 func main() { var inPut []float32 fmt.Printf("Input? ") fmt.Scanf("%s", &inPut) fmt.Println(inPut) for _, value := range inPut { fmt.Print(value) } } 我尝试了上面的代码,但它没有给我正确的答案,我应该使用其他类型的扫描仪吗 我想要接受的输入类似于[3.2-6.77 42-0.9]您想要

我如何在golang中接受数组作为输入

func main() {
var inPut []float32
fmt.Printf("Input? ")
fmt.Scanf("%s", &inPut)
fmt.Println(inPut)

for _, value := range inPut {

    fmt.Print(value)
 }
}
我尝试了上面的代码,但它没有给我正确的答案,我应该使用其他类型的扫描仪吗


我想要接受的输入类似于[3.2-6.77 42-0.9]

您想要使用的被称为

数组具有固定大小:
[n]T
n
类型的
T
值的数组

另一方面,切片是一种动态调整大小且灵活的数组表示方式:
[]T
是一种包含
T
类型元素的切片

切片在围棋世界中更为常见

package main

import "fmt"

func main() {
    len := 0
    fmt.Print("Enter the number of floats: ")
    fmt.Scanln(&len)
    input := make([]float64, len)
    for i := 0; i < len; i++ {
        fmt.Print("Enter a float: ")
        fmt.Scanf("%f", &input[i])
    }
    fmt.Println(input)
}

我希望这有帮助

您是否检查了错误和扫描的值数?见
// Enter the number of floats: 4
// Enter a float: 3.2
// Enter a float: -6.77
// Enter a float: 42
// Enter a float: -0.9
// [3.2 -6.77 42 -0.9]