go:读取标准输入

摘要:
=无{fmt.Printlnreturn}fmt。Printf1.3scanf从标准输入中读取输入,并将用空格分隔的值依次存储到后续参数中。如果输入数量小于变量数量,则会报告错误。如果输入数量大于变量数量,忽略冗余输入变量vernamestringvarageintfmt.Println(“pleasenputyouinfo!=nil{fmt.Printlnreturn}fmt.Printf2.bufio读取标准输入。如果换行符后读取了结束字符,则结束字符和前一文本fmt.Printin(”pleasenpputyouinfo!

1. scanner

1.1 scan

  从标准输入读取输入,将空格分隔的值依次存放到后续的参数内,换行符不会结束读取,读取变量个数个输入后读取结束

    var id int
    var name string
    var age int

    fmt.Println("please input you info !")
    // 从标准输入读取输入,将空格分隔的值依次存放到后续的参数内,换行符不会结束读取,读取变量个数个输入后读取结束
    _, err := fmt.Scan(&id, &name, &age)
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Printf("id=%d, name=%s,age=%d 
",id,name,age)

1.2 scanln

  从标准输入读取输入,将空格分隔的值依次存放到后续的参数内,读遇到换行符后读取结束
    var id int
    var name string
    var age int

    fmt.Println("please input you info !")

    // 从标准输入读取输入,将空格分隔的值依次存放到后续的参数内,读遇到换行符后读取结束
    _, e := fmt.Scanln(&id, &name, &age)
    if e != nil {
        fmt.Println(e)
        return
    }
    fmt.Printf("id=%d, name=%s,age=%d 
",id,name,age)

1.3 scanf

  从标准输入读取输入,将空格分隔的值依次存放到后续的参数内,输入个数小于变量个数则会报错,输入个数大于变量个数时忽略多余的输入

    var id int
    var name string
    var age int

    fmt.Println("please input you info !")

    // 从标准输入读取输入,将空格分隔的值依次存放到后续的参数内,输入个数小于变量个数则会报错,输入个数大于变量个数时忽略多余的输入
    _, err1 := fmt.Scanf("%d %s %d", &id, &name, &age)
    if err1 != nil {
        fmt.Println("err:",err1)
        return
    }
    fmt.Printf("%d,%s,%d 
", id, name, age)

2. bufio

  读取标准输入,换行后如果已经读取到结束字符,则会读取到结束字符及之前的文本

    fmt.Println("please input you info !")
    // 设置输入为标准输入,换行后如果已经读取到结束字符,则会读取到结束字符及之前的文本
    reader := bufio.NewReader(os.Stdin)
    // 设置结束字符
    input, err := reader.ReadString('.')
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(input)

输出结果:

go:读取标准输入第1张

免责声明:文章转载自《go:读取标准输入》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇深度之眼PyTorch训练营第二期 ---6、nn.Module与网络模型构建Openssl ec命令下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

用树莓派3B+和 ITEAD PN532 读取、破解、写入M1卡

这是一篇关于如何将PN532与树莓派一起使用的文章,并介绍了使用它的具体步骤。M1卡是IC卡的一种,一般用于水卡和公交卡。UID卡是M1的复制子卡,与M1完全兼容。常用的M1卡有16个扇区,一个扇区有4个块,一个字节快,总共1K数据。② ITEADPN532是为嵌入式系统设计的PN532板。它可以由树莓派控制。它有两种数据传输模式,SPI和I2C。放置一张卡...

Windows 之 删除保存的共享凭据(用户名和密码)

1、访问网络共享时,我们通常会打开Windows资源管理器,然后输入“\IP地址共享目录”,敲回车键访问。...

Protobuf动态解析那些事儿

收到protobuf数据后,如何自动创建特定的ProtobufMessage对象,然后对其进行反序列化。有关Protobuf的技术介绍,请参阅Google协议缓冲区的在线帮助页面或IBM developerworks上的文章“Google协议缓冲的使用和原理”。protobuffer的动态分析并没有在谷歌protobuffer官网上介绍。有关实现,请参阅淘宝...

Linux查看机器和硬盘的SN

查看硬件RAID中硬盘的SN#sas端口:[root@~]$smartctl-a/dev/sda dmegaraid,n***序列号:6RJ974SR***#sat端口[root@~]$smarttl-a/dev/sda-dsat+megaraid,n***序列号:6BRJ974SR***查看机器SN[root@~~]$dmidcode-t1**序列号...

Github仓库重命名

1.在Github上重命名仓库,转到您自己的仓库,找到Setting标记,然后单击Options中的Settings以设置Repositoryname。2.修改本地仓库信息。由于远程仓库名称已更改,因此本地对应的仓库名称也应更改。1.检查当前远程仓库的信息$gitremote-v列出了所有远程仓库信息,包括网站地址。2.修改本地对应远程仓库的地址。修改后,使...

【01】如何在XMind中排列自由主题

如何在XMind中安排免费主题。在XMind思维导图软件中,用户可以根据需要添加免费主题。然而,由于自由主题的灵活性,它并不整洁,与需要控制界面有序排列的用户相比,这会造成一定的麻烦。首先选择要组织的所有免费主题,单击,然后在下拉框中选择以安排免费主题。有六种排列方式:左对齐、垂直居中、右对齐、顶部对齐、水平居中和底部对齐。...