我如何在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]
答案 0 :(得分:0)
您要使用的内容称为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]
我希望这有帮助!