首页 > 其他分享 >Go笔记(3)-3种go语言的键盘输入详解

Go笔记(3)-3种go语言的键盘输入详解

时间:2023-10-22 17:37:04浏览次数:32  
标签:Scan fmt 键盘输入 Go go 格式 Scanf 输入

go语言的键盘输入详解

  • go语言中有三种输入函数,分别是:
    • fmt.Scanf() 可以按照指定的格式进行输入
    • fmt.Scanln() 通过指针将值赋值给变量
    • fmt.Scan()

(1)fmt.Scan

  • Scan从标准输入扫描文本,读取空白符分隔的值保存到传递给本函数的参数中,将换行符视为空白符

  • 使用Scan函数需要用取址获取变量的地址,使用&

  • 使用该函数时,会在该函数收到用户输入前停止,直到获取用户输入

代码示例

func main(){
	var a int
	var b float64 //定义两个变量测试Scan()输入

	fmt.Println("请输入a:整数 b:小数")
	fmt.Scan(&a, &b)              //输入数据,这里要使用&取变量地址
	fmt.Printf("a=%d,b=%f", a, b) //打印输入的结果
    
}

  • 换行符也被视作空白符:

(2)fmt.Scanf

  • Scanf根据format参数指定的格式去读取值

  • Scanf必须按照指定的具体的输入内容的格式去进行输入否则无法获取输入的值

func main() {
	var a int
	var b float64 //定义两个变量测试Scan()输入

	fmt.Println("请输入a:整数 b:小数")
	fmt.Scanf("a的值:%d,b的值:%f", &a, &b) //输入数据,这里要使用&取变量地址
	fmt.Printf("a=%d,b=%f", a, b)      //打印输入的结果

}
  • 未按照设定的输入格式输入:

  • 严格按照设定的输入格式进行输入

  • 可以看到,使用Scanf函数对用户的输入格式非常严格,即使少一个“,”号也会导致无法读取值

(3)fmt.Scanln

  • Scanln类似于Scan,它要遇到换行时才停止扫描,最后一个数据后面必须有换行或结束符

标签:Scan,fmt,键盘输入,Go,go,格式,Scanf,输入
From: https://www.cnblogs.com/sillyfox/p/17780721.html

相关文章

  • django从配置文件中读取数据库信息
    创建配置文件my.cnf[client]database=django_dbuser=rootpassword=123456host=127.0.0.1port=3306settings.pyDATABASES={'default':{'ENGINE':'django.db.backends.sqlite3','OPTIONS':{'read_default_fi......
  • golang validator 检验工具的使用指北
    golangvalidator包的使用指北原创阿兵云原生阿兵云原生2023-09-1009:27发表于广东看到validator咱们第一反应会想起啥?见名知意我就可以知道他是一个验证器,如果用过ginweb框架的同学,自然是用过gin里面的validator,只不过gin中使用的关键字是binding去做标识 ......
  • go 包扩展
    (5).扩展:对同一个go文件的init()调用顺序是从上到下的.对同一个package中不同文件是按文件名字符串比较"从小到大"顺序调用各文件中的init()函数.  a.注意大写的文件名会优选于小写的文件名.对不同的package,如果不相互依赖的话,按照main包中"先import的后调用"的顺序调用其......
  • idea或者goland输出拷贝问题
    比如你拷贝一串很长的base字符串或者是json串,你会把\n也拷贝出来,这时候就很头疼,有2种解决方案,1是直接写文件,然后文件里copy出来2是借助vim,windows上面是gvim,查找\n,就能把隐藏的\n查出来,也算是一个小tips。......
  • Go笔记(2)-5种运算符总结
    运算符(1)算术运算符(2)关系运算符(3)逻辑运算符(4)位运算符(5)赋值运算符......
  • 2023-10-21:用go语言,一共有三个服务A、B、C,网络延时分别为a、b、c 并且一定有:1 <= a <= b
    2023-10-21:用go语言,一共有三个服务A、B、C,网络延时分别为a、b、c并且一定有:1<=a<=b<=c<=10^9但是具体的延时数字丢失了,只有单次调用的时间一次调用不可能重复使用相同的服务,一次调用可能使用了三个服务中的某1个、某2个或者全部3个服务比如一个调用的时间,T=100100的延时......
  • 2023-10-21:用go语言,一共有三个服务A、B、C,网络延时分别为a、b、c 并且一定有:1 <= a <= b
    2023-10-21:用go语言,一共有三个服务A、B、C,网络延时分别为a、b、c并且一定有:1<=a<=b<=c<=10^9但是具体的延时数字丢失了,只有单次调用的时间一次调用不可能重复使用相同的服务,一次调用可能使用了三个服务中的某1个、某2个或者全部3个服务比如一个调用的时间,T=100100......
  • 呜呜呜我要拿Go赢他~ Go language MacOs build development environment Hello! Go !
    前言Go编程语言是一个开源项目,旨在提高程序员的工作效率。Go富有表现力、简洁、干净且高效。它的并发机制使编写能够充分利用多核和联网机器的程序变得容易,而其新颖的类型系统可以实现灵活和模块化的程序构建。Go可以快速编译为机器代码,同时还具有垃圾收集的便利性和运行时反射......
  • go 总结
    (4).总结:引用顺序是:main.go->add.go->b.go编译顺序是:main.go<-add.go<-b.go a.先执行b.go的全局变量初始化、init函数. b.再执行add.go的全局变量初始化、init函数. c.再执行main.go的全局变量初始化、init函数.上面add.go和b.go都有Age,会不会产生覆盖?......
  • 小白学Python - 使用 Django 的天气应用程序
    使用Django的天气应用程序本文中我们将学习如何创建一个使用Django作为后端的天气应用程序。Django提供了一个基于PythonWeb框架的Web框架,允许快速开发和干净、务实的设计。基本设置cdweather启动服务器pythonmanage.pyrunserver要检查服务器是否正在运行,请转至Web......