当前位置:网站首页>【愚公系列】2022年7月 Go教学课程 006-自动推导类型和输入输出
【愚公系列】2022年7月 Go教学课程 006-自动推导类型和输入输出
2022-07-07 22:35:00 【华为云】
一、自动推导类型
1.自动推导类型
自动推导类型,在声明赋值变量时,不需要var和变量类型,其类型是由所赋值来决定的。
package mainimport "fmt"func main() { //初始化 var a int = 10 //赋值 a = 20 //自动推导 b := 30 //输出 fmt.Println(a, b)}2.总结
- 什么是自动推导类型:在声明赋值变量时,不需要var和变量类型,其类型是由所赋的值来决定的。
- 自动推导类型基本语法格式:“变量名:=值”。
- 多重赋值(使用自动推导类型一次性给多个变量赋值)语法格式:“变量名1,变量名2,变量名3:= 值1,值2,值3"
二、输入和输出
1.输出
1.1 fmt.Print
普通输出
func Print(a ...interface{}) (n int, err error)- Print采用默认格式将其参数格式化并写入标准输出。
- 如果两个相邻的参数都不是字符串,会在它们的输出之间添加空格。
- 返回写入的字节数和遇到的任何错误。
1.2 fmt.Println
换行输出
func Println(a ...interface{}) (n int, err error)- Println采用默认格式将其参数格式化并写入标准输出。
- 总是会在相邻参数的输出之间添加空格并在输出结束后添加换行符。
- 返回写入的字节数和遇到的任何错误。
1.3 fmt.Printf
格式化输出
func Printf(format string, a ...interface{}) (n int, err error)- Printf根据format参数生成格式化的字符串并写入标准输出。
- 返回写入的字节数和遇到的任何错误。
2.输入
2.1 fmt.Scan
普通输入
func Scan(a ...interface{}) (n int, err error)- Scan从标准输入扫描文本,将成功读取的空白分隔的值保存进成功传递给- 本函数的参数。换行视为空白符。
- 返回成功扫描的条目个数和遇到的任何错误。如果读取的条目比提供的参数少,会返回一个错误报告原因。
案例:
package mainimport "fmt"func main() { var ( name string age int isMale bool ) fmt.Scan(&name, &age, &isMale) fmt.Printf("扫描结果 name:%s age:%d isMarried:%t \n", name, age, isMale)}
2.2 fmt.Scanf
格式化输入
func Scanf(format string, a ...interface{}) (n int, err error)- Scanf从标准输入扫描文本,根据format 参数指定的格式将成功读取的空白分隔的值保存进成功传递给本函数的参数。
- 返回成功扫描的条目个数和遇到的任何错误。
案例:
package mainimport "fmt"func main(){ var ( name string age int isMale bool ) fmt.Scanf("name:%s age:%d isMale:%v", &name, &age, &isMale) //fmt.Scanf("%s%d%t",&name,&age,&isMale)建议这样使用,输入的时候中间使用空格隔开 fmt.Printf("扫描结果 name:%s age:%d isMarried:%t \n", name, age, isMale)}
2.3 总结
- Scanf()语法格式:fmt.Scanf("%d",&num)
- Scan()语法格式:fmt.Scan(&num)
- 变量地址:在内存中会为变量开辟出对应的存储单元,为了能够找到该存储单元存取 数据,系统会将每个单元加上一个编号,这个编号就是地址
边栏推荐
- What if the testing process is not perfect and the development is not active?
- 关于组织2021-2022全国青少年电子信息智能创新大赛西南赛区(四川)复赛的通知
- Robomaster visual tutorial (1) camera
- How can CSDN indent the first line of a paragraph by 2 characters?
- 【obs】Impossible to find entrance point CreateDirect3D11DeviceFromDXGIDevice
- Deep dive kotlin synergy (XXII): flow treatment
- Scrapy framework
- 接口测试要测试什么?
- Emotional post station 010: things that contemporary college students should understand
- C # generics and performance comparison
猜你喜欢

Notice on organizing the second round of the Southwest Division (Sichuan) of the 2021-2022 National Youth electronic information intelligent innovation competition

RPA云电脑,让RPA开箱即用算力无限?

new和delete的底层原理以及模板

他们齐聚 2022 ECUG Con,只为「中国技术力量」

Single machine high concurrency model design

Development of a horse tourism website (optimization of servlet)

【GO记录】从零开始GO语言——用GO语言做一个示波器(一)GO语言基础

每日刷题记录 (十六)

【编程题】【Scratch二级】2019.12 飞翔的小鸟
![[programming problem] [scratch Level 2] December 2019 flying birds](/img/5e/a105f8615f3991635c9ffd3a8e5836.png)
[programming problem] [scratch Level 2] December 2019 flying birds
随机推荐
The underlying principles and templates of new and delete
【转载】解决conda安装pytorch过慢的问题
What if the testing process is not perfect and the development is not active?
51与蓝牙模块通讯,51驱动蓝牙APP点灯
3 years of experience, can't you get 20K for the interview and test post? Such a hole?
What is load balancing? How does DNS achieve load balancing?
Basic principle and usage of dynamic library, -fpic option context
攻防世界Web进阶区unserialize3题解
C language 001: download, install, create the first C project and execute the first C language program of CodeBlocks
商品的设计等整个生命周期,都可以将其纳入到产业互联网的范畴内
How can CSDN indent the first line of a paragraph by 2 characters?
Solution to prompt configure: error: curses library not found when configuring and installing crosstool ng tool
Jouer sonar
LeetCode刷题
3年经验,面试测试岗20K都拿不到了吗?这么坑?
搭建ADG过程中复制报错 RMAN-03009 ORA-03113
Tencent security released the white paper on BOT Management | interpreting BOT attacks and exploring ways to protect
How to measure whether the product is "just needed, high frequency, pain points"
应用实践 | 数仓体系效率全面提升!同程数科基于 Apache Doris 的数据仓库建设
某马旅游网站开发(登录注册退出功能的实现)