Golang的标准输入输出

                            作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

  在很多情况下,我们希望用户通过键盘输入一个数值,存储到某个变量中,然后将该变量的值取出来,进行操作。这时候就得用到标准输入了,当然有时候我们也得用到标准输出,接下来咱们九一起来学习一下吧。

 

一.标准输入

1>.fmt.Scan应用案例(推荐使用)

  1. package main
  2.  
  3. import "fmt"
  4.  
  5. func main() {
  6.  
  7. var name string
  8. var age int
  9.  
  10. /*
  11. 使用"&"获取score变量的内存地址(即取变量内存地址的运算符),通过键盘输入为score变量指向的内存地址赋初值。
  12.  
  13. fmt.Scan是一个阻塞的函数,如果它获取不到数据就会一直阻塞哟。
  14.  
  15. fmt.Scan可以接收多个参数,用户输入参数默认使用空格或者回车换行符分割输入设备传入的参数,直到接收所有的参数为止
  16. */
  17. fmt.Scan(&name, &age)
  18.  
  19. fmt.Println(name, age)
  20.  
  21. }

2>.fmt.Scanln应用案例

  1. package main
  2.  
  3. import "fmt"
  4.  
  5. func main() {
  6.  
  7. var name string
  8. var age int
  9.  
  10. /*
  11. 和fmt.Scan功能类似,fmt.Scanln也是一个阻塞的函数,如果它获取不到数据就会一直阻塞哟。
  12.  
  13. fmt.Scanln也可以接收多个参数,用户输入参数默认使用空格分割输入设备传入的参数,遇到回车换行符就结束接收参数
  14. */
  15. fmt.Scanln(&name, &age)
  16. fmt.Println(name, age)
  17.  
  18. }

3>.fmt.Scanf应用案例

  1. package main
  2.  
  3. import "fmt"
  4.  
  5. func main() {
  6.  
  7. var name string
  8. var age int
  9.  
  10. /*
  11. 和fmt.Scanln功能类似,fmt.Scanf也是一个阻塞的函数,如果它获取不到数据就会一直阻塞哟。
  12.  
  13. 其实fmt.Scanln和fmt.Scanf可都以接收多个参数,用户输入参数默认使用空格分割输入设备传入的参数,遇到回车换行符就结束接收参数
  14.  
  15. 唯一区别就是可以格式化用户输入的数据类型,如下所示:
  16. %s:
  17. 表示接收的参数会被转换成一个字符串类型,赋值给变量
  18. %d:
  19. 表示接收的参数会被转换成一个整形类型,赋值给变量
  20.  
  21. 生产环境中使用fmt.Scanln和fmt.Scanf的情况相对较少,一般使用fmt.Scan的情况较多~
  22. */
  23. fmt.Scanf("%s%d", &name, &age)
  24. fmt.Println(name, age)
  25.  
  26. }

二.标准输出

1>.fmt.Println应用案例

  1. package main
  2.  
  3. import "fmt"
  4.  
  5. func main() {
  6.  
  7. name := "尹正杰"
  8. age :=
  9.  
  10. fmt.Println("======================")
  11.  
  12. /*
  13. 将变量的值取出来打印并换行
  14. */
  15. fmt.Println(name, age)
  16.  
  17. fmt.Println("======================")
  18. }

2>.fmt.Print应用案例

  1. package main
  2.  
  3. import "fmt"
  4.  
  5. func main() {
  6.  
  7. name := "尹正杰"
  8. age :=
  9.  
  10. fmt.Println("======================")
  11.  
  12. /*
  13. 将变量的值取出来打印但不换行
  14. */
  15. fmt.Print(name, age)
  16.  
  17. fmt.Println("======================")
  18. }

3>.fmt.Printf应用案例

  1. package main
  2.  
  3. import "fmt"
  4.  
  5. func main() {
  6.  
  7. name := "尹正杰"
  8. age :=
  9.  
  10. fmt.Println("======================")
  11.  
  12. /*
  13. 常用的占位符:
  14. %s:
  15. 表示一个字符串类型
  16. %d:
  17. 表示一个整形类型
  18. %T:
  19. 表示一个变量对应的数据类型
  20. %f:
  21. 表示一个浮点数类型
  22. %t:
  23. 表示一个布尔类型
  24. %c:
  25. 表示一个字符类型
  26. %p:
  27. 表示一个指针类型
  28. \t:
  29. 表示一个制表符
  30. \n:
  31. 表示换行符
  32.  
  33. 可以使用占位符格式化打印结果,如下所示。
  34. */
  35. fmt.Printf("姓名:%s\t年龄:%d\n", name, age)
  36.  
  37. fmt.Println("======================")
  38. }

Golang的标准输入输出的更多相关文章

  1. C/C++ 标准输入输出重定向

    转载自:http://www.cnblogs.com/hjslovewcl/archive/2011/01/10/2314356.html 这个对经常在OJ上做题的童鞋们很有用.OJ基本都是用标准输入 ...

  2. C语言的标准输入输出

    1. 标准输入输出 标准输入.输出主要由缓冲区和操作方法两部分组.缓冲区实际上可以看做内存中的字符串数组,而操作方法主要是指printf.scanf.puts.gets,getcha.putcahr等 ...

  3. linux标准输入输出及错误输出

    Linux Shell 环境中支持输入输出重定向,用符号"<"和">"来表示. 0.1和2分别表示标准输入.标准输出和标准错误信息输出,可以用来指定 ...

  4. 【转载】标准输入输出重定向(Visual C++)

    原文:标准输入输出重定向(Visual C++) 引言 本人偶得在 Visual C++ 中进行输入输出重定向的办法,比通常的做法“freopen”更加的灵活和方便,特在此共享.目前,代码正在不断地摸 ...

  5. linux标准输入输出2>&1

    linux中有三种标准输入输出,分别是STDIN,STDOUT,STDERR,对应的数字是0,1,2.     STDIN是标准输入,默认从键盘读取信息:STDOUT是标准输出,默认将输出结果输出至终 ...

  6. C++之标准输入输出

    由于在公司,无法上传图片,往后补上. 关于C++的标准输入输出,其实就相当于C语言的scanf和printf,只不过C++用cin和cout这样称为流的机制. #include <iostrea ...

  7. 标准输入输出 sys.stdin与sys.stdin

    1.python中的标准输入输出 如果需要更好的控制输出,而print不能满足需求,input也不能 sys.stdout,sys.stdin,sys.stderr就是你需要的. 2.输入:sys.s ...

  8. Python学习笔记015——文件file的常规操作之三(标准输入输出文件)

    1 标准输入输出文件 在Python中,模块sys中含有标准的输入输出文件 sys.stdin     标准输入方法(一般是键盘) sys.stdout   标准输出方法(到显示器的缓冲输出) sys ...

  9. Python基础笔记系列十一:标准输入输出、文件读写和指针等操作

    本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 标准输入输出一.输入 在sublime中这个时候需要安装SublimeRE ...

随机推荐

  1. 前后端分离后API交互如何保证数据安全性?

    一.前言 前后端分离的开发方式,我们以接口为标准来进行推动,定义好接口,各自开发自己的功能,最后进行联调整合.无论是开发原生的APP还是webapp还是PC端的软件,只要是前后端分离的模式,就避免不了 ...

  2. JSTL中获取URL参数

    使用JSTL时,URL会被隐含的对象param包裹起来,使用param.变量名,直接获取值 <body>hello:${param.name}</body> 依据此逻辑,在使用 ...

  3. Linux 下安装 FFmpeg

    1. 下载源代码: git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg 2. 编译 ./configure --enable-shared --pre ...

  4. sudo: gunicorn: command not found的问题

    在阿里云的ubantu云服务器上,python3 通过pip安装gunicorn 在命令行运行gunicorn时提示找不到命令 可以删除已经安装的gunicorn 解决办法: which pip #找 ...

  5. Python入门之元组

    一.什么是元祖 元祖是不可变类型(列表是可变类型) 为什么要设计元祖这样不可变类型?因为一旦创建了不可变类型的对象,对象内部的所有数据就不能被修改了,这样避免了 由于修改数据导致的错误.此外,对于不可 ...

  6. 为什么阿里Java规约要求谨慎使用SimpleDateFormat

    前言 在阿里Java开发规约中,有强制性的提到SimpleDateFormat 是线程不安全的类 ,在使用的时候应当注意线程安全问题,如下: 其实之前已经介绍过使用JDK1.8的DateTimeFor ...

  7. day06 python 3中的编码

    #python2 和 python3 的一些区别 ''' #python2 print('aaa') print'aaa' range() xrange()生成器 raw_input() #pytho ...

  8. Python学习笔记之基础篇(四)列表与元祖

    #### 列表 li = ['alex','wusir','egon','女神','taibai'] ###增加的3种方法 ''' # append li.append('日天') li.append ...

  9. 第1节 kafka消息队列:7、kafka的消费模型

  10. VMware许可证过期解决方案

    VMware 2017 v14.x 永久许可证激活密钥:FF31K-AHZD1-H8ETZ-8WWEZ-WUUVACV7T2-6WY5Q-48EWP-ZXY7X-QGUWD