在Golang中读取一组由空格分隔的整数

我想从标准输入中读取一组整数值并将其放入整数切片中。不使用for循环的最快方法是什么?

例如

Enter the number of integers

3

Enter the integers

23 45 66

如何将这些值放在整数切片中?

回答:

无论如何都会有一个循环,这里没有forand goto循环(在Go

Playground上尝试一下):

package main

import "fmt"

func main() {

fmt.Println(`Enter the number of integers`)

var n int

if m, err := Scan(&n); m != 1 {

panic(err)

}

fmt.Println(`Enter the integers`)

all := make([]int, n)

ReadN(all, 0, n)

fmt.Println(all)

}

func ReadN(all []int, i, n int) {

if n == 0 {

return

}

if m, err := Scan(&all[i]); m != 1 {

panic(err)

}

ReadN(all, i+1, n-1)

}

func Scan(a *int) (int, error) {

return fmt.Scan(a)

}

io:

Enter the number of integers

3

Enter the integers

10 20 30

[10 20 30]


为了更快地进行输入扫描重写:

func Scan(a *int) (int, error) {

return fmt.Scan(a)

}

使用:

更快的输入扫描

以上是 在Golang中读取一组由空格分隔的整数 的全部内容, 来源链接: utcz.com/qa/417793.html

回到顶部