Golang的标准输入输出

                            作者:尹正杰

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

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

 

一.标准输入

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

package main

import "fmt"

func main() {

    var name string
var age int /*
使用"&"获取score变量的内存地址(即取变量内存地址的运算符),通过键盘输入为score变量指向的内存地址赋初值。 fmt.Scan是一个阻塞的函数,如果它获取不到数据就会一直阻塞哟。 fmt.Scan可以接收多个参数,用户输入参数默认使用空格或者回车换行符分割输入设备传入的参数,直到接收所有的参数为止
*/
fmt.Scan(&name, &age) fmt.Println(name, age) }

2>.fmt.Scanln应用案例

package main

import "fmt"

func main() {

    var name string
var age int /*
和fmt.Scan功能类似,fmt.Scanln也是一个阻塞的函数,如果它获取不到数据就会一直阻塞哟。 fmt.Scanln也可以接收多个参数,用户输入参数默认使用空格分割输入设备传入的参数,遇到回车换行符就结束接收参数
*/
fmt.Scanln(&name, &age)
fmt.Println(name, age) }

3>.fmt.Scanf应用案例

package main

import "fmt"

func main() {

    var name string
var age int /*
和fmt.Scanln功能类似,fmt.Scanf也是一个阻塞的函数,如果它获取不到数据就会一直阻塞哟。 其实fmt.Scanln和fmt.Scanf可都以接收多个参数,用户输入参数默认使用空格分割输入设备传入的参数,遇到回车换行符就结束接收参数 唯一区别就是可以格式化用户输入的数据类型,如下所示:
%s:
表示接收的参数会被转换成一个字符串类型,赋值给变量
%d:
表示接收的参数会被转换成一个整形类型,赋值给变量 生产环境中使用fmt.Scanln和fmt.Scanf的情况相对较少,一般使用fmt.Scan的情况较多~
*/
fmt.Scanf("%s%d", &name, &age)
fmt.Println(name, age) }

二.标准输出

1>.fmt.Println应用案例

package main

import "fmt"

func main() {

    name := "尹正杰"
age := fmt.Println("======================") /*
将变量的值取出来打印并换行
*/
fmt.Println(name, age) fmt.Println("======================")
}

2>.fmt.Print应用案例

package main

import "fmt"

func main() {

    name := "尹正杰"
age := fmt.Println("======================") /*
将变量的值取出来打印但不换行
*/
fmt.Print(name, age) fmt.Println("======================")
}

3>.fmt.Printf应用案例

package main

import "fmt"

func main() {

    name := "尹正杰"
age := fmt.Println("======================") /*
常用的占位符:
%s:
表示一个字符串类型
%d:
表示一个整形类型
%T:
表示一个变量对应的数据类型
%f:
表示一个浮点数类型
%t:
表示一个布尔类型
%c:
表示一个字符类型
%p:
表示一个指针类型
\t:
表示一个制表符
\n:
表示换行符 可以使用占位符格式化打印结果,如下所示。
*/
fmt.Printf("姓名:%s\t年龄:%d\n", name, age) fmt.Println("======================")
}

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. KEIL的一些函数

    一 Predefined Functions:http://www.keil.com/support/man/docs/uv4cl/uv4cl_df_predeffunct.htm 主要有三角/反三角 ...

  2. Linux centosVMware NFS exportfs命令、NFS客户端问题、FTP介绍、使用vsftpd搭建ftp

    一.exportfs命令 常用选项 -a 全部挂载或者全部卸载 -r 重新挂载 -u 卸载某一个目录 -v 显示共享目录 以下操作在服务端上 vim /etc/exports //增加 /tmp/ 1 ...

  3. Codeforces Round #620 (Div. 2) 题解

    A. Two Rabbits 思路: 很明显,如果(y-x)%(a+b)==0的话ans=(y-x)/(a+b),否则就为-1 #include<iostream> #include< ...

  4. Day11-G - Calendar Game HDU - 1079

    Adam and Eve enter this year’s ACM International Collegiate Programming Contest. Last night, they pl ...

  5. 使 Firefox 和 Vivaldi 只在新标签页显示书签栏

    Firefox 新建 ~/.mozilla/firefox/rre9emvh.default/chrome/userChrome.css (大概不同人的 rre9emvh.default 目录会有不同 ...

  6. Django线上项目后台admin不显示问题

    记一次django项目的线上部署错误,django+nginx 一.问题描述 在将django项目部署到阿里云(nginx作为web服务器)上之后发现出现后台管理界面admin不显示样式. 二.问题分 ...

  7. layer弹出框包含页面

    参考:http://www.cnblogs.com/zhengchenhui/p/6038865.html

  8. 5G将重新定义物联网和边缘计算

    导读 比上一代蜂窝服务(4G)相比,5G提供的无线蜂窝连接性具有更高的带宽.更低的延迟和更高的设备密度. 比上一代蜂窝服务(4G)相比,5G提供的无线蜂窝连接性具有更高的带宽.更低的延迟和更高的设备密 ...

  9. SpringCloud实战——(4)基于Eureka、Zuul

  10. maven构建项目失败----99%

    删除工作空间信息,重新导入,问题解决, 该问题,可能是安装Spring IDE 导致的问题,eclipse兼容性问题