【问题标题】:take an arrary as input in golang [duplicate]在golang中将数组作为输入[重复]
【发布时间】:2018-09-14 11:10:36
【问题描述】:

如何在 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]

【问题讨论】:

标签: arrays go


【解决方案1】:

您要使用的称为Slices

数组具有固定大小:[n]T 是由 n 类型的 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]

我希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-10
    • 1970-01-01
    • 1970-01-01
    • 2018-09-27
    • 1970-01-01
    • 2021-12-14
    • 2021-01-21
    • 2021-08-26
    相关资源
    最近更新 更多