arrays - 将数组作为golang的输入

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

最佳答案

你想用的是Slices .

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

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

slice 在 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]

希望对您有所帮助!

关于arrays - 将数组作为golang的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49658633/

相关文章:

arrays - Swift - 数组过滤两个数字之间的值

ios - 快速制作集合类(数组、字典)的浅拷贝,而不是深拷贝。

java - 从字符串中创建一个数组,然后将其一个一个地放入字符串中

git - 来自 Bitbucket 的“Go Get”私有(private) repo

amazon-web-services - request.Body 通过 http 网关的值与通过测试 GUI 的值不同

c - 如何为二维数组动态分配连续的内存块

java - 为数组索引赋值和为java中的变量赋值之间的性能差异

go - 如何以正确的方式组织你的 Go 项目?

go - 为什么 fmt.Println() 的输出不是我需要的

go - os.IsNotExist 但得到 "not a directory"