首先
创建一个新的带缓冲的读取器(bufio.Reader类型)。这个读取器从标准输入(os.Stdin)读取数据。
或者
创建一个新的带缓冲的读取器(bufio.Reader类型),这个读取器从inputFile读取数据。
reader := bufio.NewReader(os.Stdin)
reader := bufio.NewReader(inputFile)
注:获取文件可使用 inputFile, err := os.Open("input.txt")
使用文件处理输入输出完整形式
inputFile, _ := os.Open("input.txt")
defer inputFile.Close()
outputFile, _ := os.Create("output.txt")
defer outputFile.Close()
reader := bufio.NewReader(inputFile)
writer := bufio.NewWriter(outputFile)
defer writer.Flush()
然后 通过 reader 获取单行的输入
inputStr, err := reader.ReadString('\n')
作用是从 reader 所代表的输入源中读取数据,直到遇到换行符 \n 为止,并以字符串的形式返回读取到的内容。
返回 字符串(string) 和 error 类型
既然获取了单行输入字符串,就可以进行操作了
trimmedLine := strings.TrimSpace(line)
作用是去除字符串 line 两端的空白字符(包括空格、制表符、换行符等)。
返回 字符串(string)
parts := strings.Split(line, " ")
作用是将字符串line按照指定的分隔符(这里是空格 " ")进行分割,并返回一个包含分割后子字符串的切片。
返回 字符串(string)
如果输入是数字类型,可以将字符串转 int 类型
num, err := strconv.Atoi(part)
作用是将字符串part转换为整数类型。
返回 int 和 error
至于输出,就直接使用 fmt.Println 或 fmt.Print
基于上面的 API,可处理大部分常见的输入输出样例。