把一个arrary作为golang的输入

时间:2018-04-04 19:09:18

标签: 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]

1 个答案:

答案 0 :(得分:0)

您要使用的内容称为Slices

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

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

切片在Go世界中更为常见。

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]

我希望这有帮助!