使用 bufio 处理带有空格分隔的不定长字符串

func main() {
scanner := bufio.NewScanner(os.Stdin)
for i := 0; i < 2; i++ {
scanner.Scan()
agrs := strings.Split(scanner.Text(), " ") //使用空格分开
fmt.Println(agrs)
}
}
输入输出结果:
输入: a b c
输出: [a b c]
输入: d e f
输出: [d e f]

使用 fmt.Scan 接受参数

package main

import "fmt"

func main() {
var name string
var age int
fmt.Scan(&name, &age)
fmt.Println(name, age)
}
输入:
zhao
13 输出:
zhao 13

使用 fmt.Scanln 读取入参

func main() {
var name string
var age int
fmt.Scanln(&name, &age)
fmt.Println(name, age)
}
输入:
zhao
回车
输出:
zhao 0

注意,fmt.Scanfmt.Scanln 的区别

  • fmt.Scan 是一个阻塞函数,只要还有没有接受完的参数,无论是 空格 还是 回车,都会不断的接受,直到接受完为止。

  • fmt.Scanln 也是一个阻塞函数,但他只能接受用 空格 分开的参数,只要一旦遇到 回车 ,阻塞函数就会停止。

最新文章

  1. ScrollTo:平滑滚动到页面指定位置
  2. CentOS安装squid代理服务器
  3. python 列表推导式
  4. Python CRC16校验算法
  5. hdu 5154 Harry and Magical Computer
  6. 稍加详细的ATR信息,将完善历史字节部分+
  7. 从苹果的appstore谈谈web前端那丝毫的追求
  8. spring异常处理
  9. Echarts数据可视化dataZoom,开发全解+完美注释
  10. Oracle 12c(12.1.0.5)OEM server agent 安装配置
  11. sqli-labs第一节 get-字符型注入
  12. 结合《剑指offer(第二版)》面试题51来谈谈归并排序
  13. spring事务管理方式大全
  14. 5. jdk路径配置
  15. 15. Studio上字符串转整形、整形转字符串例子
  16. tyvj 1031 热浪 最短路
  17. The Toll! Revisited UVA - 10537(变形。。)
  18. PHP常用技术文之文件操作和目录操作总结
  19. Android-AndroidStudio Run &#39;app&#39;安装APK到设备的过程
  20. vim编辑器基本操作及文件权限,sudo命令等介绍

热门文章

  1. 【新品发布】如何将Spire.XLS for C++集成到C++ 程序中
  2. 我做的百度飞桨PaddleOCR .NET调用库
  3. Linux快照利器:Timeshift,备份和还原效果杠杠的
  4. 英国学者在真实世界早期RA队列研究中发现较高比例的临床缓解患者仍存在能量多普勒超声活性
  5. .net 移动mas短信接口开发
  6. 操作系统复习(updating)
  7. Compiler25th005: Excel Compiler
  8. 野火STM32 ADC独立模式单通道采集实验意外
  9. C++实现链栈相关操作代码
  10. Django,Flask中的request