golang中通过bufio和os包读取终端中输入的一行带空格的数据

1. 如果读取不带空格的数据可以使用fmt.Scan或fmt.Scanln读取一个或多个值,但是不能读取带空格的数据,可以使用bufio和os两个包结合

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package main
 
import (
    "bufio"
    "fmt"
    "os"
)
 
func main() {
    // os.Stdin将终端中输入的数据写入到Stdin这个文件中去
    reader := bufio.NewReader(os.Stdin)
    fmt.Print("请输入一行数据,带空格也行:")
    // line 从Stdin中读取一行的数据,(字节的切片)可以转换成字符串
    // reader默认一次能读4096个字节,一个汉字是三个字节
    // 一次性读完:isPrefix就等于false
    // 先读一部分:isPrefix等于true
    line, isPrefix, err := reader.ReadLine()
    // 将字节的切片转换成字符串
    data := string(line)
    fmt.Println(line, isPrefix, err)
    fmt.Println(data)
}
  

  

posted @   专职  阅读(449)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示