0%

Golang 输入输出 stdio

Golang 的标准输入输出常见用法

按行读取

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package main
import (
"fmt"
"bufio"
"os"
)
func main() {
// Scanln 实际上需要知道一行中有多少被空格分隔的输入才能使用,直接读取一行作为字符串需要用到scanner或者reader
// var str1, str2 string
// fmt.Scanln(str1, str2)
// fmt.Println(str1, str2);
// 方式一:
scanner := bufio.NewScanner(os.Stdin)
for scanner.Scan() {
fmt.Println(scanner.Text())
}
// 方式二:
reader := bufio.NewReader(os.Stdin)
text, _ := reader.ReadString('\n')
fmt.Println(text)

}

空格分割

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package main
import (
"fmt"
"bufio"
"os"
)
func main() {
// 方式一:
scanner := bufio.NewScanner(bufio.NewReader(os.Stdin))
scanner.Split(bufio.ScanWords)
for scanner.Scan() {
fmt.Println(scanner.Text())
}

}

字符串模板

1
2
3
4
5
6
7
8
9
10
11
12
package main
import (
"fmt"
)
func main() {
var str string = "abc"
fmt.Printf("%s\n", str);

var f float64 = 100.12
// 保留一位小数
fmt.Printf("%.1f\n", str);
}