DEV

Go言語 - Atcoderするときのメモ

#Go

Atcoderで標準入力から色々取得することのメモ

1行読む

var n, a, b int
fmt.Scan(&n)
fmt.Scan(&a)
fmt.Scan(&b)

下記のようにスペースを空けると、別々に登録される。半角スペースまでをScanするもよう。

20 1 4

2行読む

2行でもこれでできた

func main() {
var n int
var s string
fmt.Scan(&n, &s)

これだと、改行しないでスペースで区切ってもOKだし、改行してもOKだった。楽。

別の方法は、下記に書いてあるの真似した。上記のが圧倒的に楽。でも下記によると下記の方が速い可能性があるっぽい。まあでも楽な方がいいや。

https://qiita.com/tnoda_/items/b503a72eac82862d30c6qiita.com

package main
import (
"bufio"
"fmt"
"os"
"strconv"
)
var sc = bufio.NewScanner(os.Stdin)
func nextLine() string {
sc.Scan()
return sc.Text()
}
func main() {
var n int
var a string
n, _ = strconv.Atoi(nextLine())
a = nextLine()
fmt.Println(n)
fmt.Println(a)
}