我如何将数组作为 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]T
是 n
类型 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]
希望对您有所帮助!