当前位置:网站首页>【愚公系列】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)
- 变量地址:在内存中会为变量开辟出对应的存储单元,为了能够找到该存储单元存取 数据,系统会将每个单元加上一个编号,这个编号就是地址
边栏推荐
- Relevant methods of sorting arrays in JS (if you want to understand arrays, it's enough to read this article)
- A brief history of information by James Gleick
- The standby database has been delayed. Check that the MRP is wait_ for_ Log, apply after restarting MRP_ Log but wait again later_ for_ log
- 詹姆斯·格雷克《信息简史》读后感记录
- If an exception is thrown in the constructor, the best way is to prevent memory leakage?
- How to put recyclerview in nestedscrollview- How to put RecyclerView inside NestedScrollView?
- After going to ByteDance, I learned that there are so many test engineers with an annual salary of 40W?
- [programming problem] [scratch Level 2] 2019.09 make bat Challenge Game
- 3年经验,面试测试岗20K都拿不到了吗?这么坑?
- Vscode software
猜你喜欢

【编程题】【Scratch二级】2019.09 绘制雪花图案

应用实践 | 数仓体系效率全面提升!同程数科基于 Apache Doris 的数据仓库建设

接口测试进阶接口脚本使用—apipost(预/后执行脚本)

接口测试要测试什么?

赞!idea 如何单窗口打开多个项目?

How does starfish OS enable the value of SFO in the fourth phase of SFO destruction?

单机高并发模型设计

How to learn a new technology (programming language)

ROS从入门到精通(九) 可视化仿真初体验之TurtleBot3

After going to ByteDance, I learned that there are so many test engineers with an annual salary of 40W?
随机推荐
Play sonar
What is load balancing? How does DNS achieve load balancing?
QT adds resource files, adds icons for qaction, establishes signal slot functions, and implements
DNS 系列(一):为什么更新了 DNS 记录不生效?
ROS从入门到精通(九) 可视化仿真初体验之TurtleBot3
Trust orbtk development issues 2022
The standby database has been delayed. Check that the MRP is wait_ for_ Log, apply after restarting MRP_ Log but wait again later_ for_ log
Robomaster visual tutorial (1) camera
【编程题】【Scratch二级】2019.03 垃圾分类
玩转Sonar
应用实践 | 数仓体系效率全面提升!同程数科基于 Apache Doris 的数据仓库建设
【编程题】【Scratch二级】2019.03 绘制方形螺旋
Common selectors are
Deep dive kotlin collaboration (the end of 23): sharedflow and stateflow
浪潮云溪分布式数据库 Tracing(二)—— 源码解析
Basic principle and usage of dynamic library, -fpic option context
【GO记录】从零开始GO语言——用GO语言做一个示波器(一)GO语言基础
【obs】Impossible to find entrance point CreateDirect3D11DeviceFromDXGIDevice
The difference between get and post
Anaconda+pycharm+pyqt5 configuration problem: pyuic5 cannot be found exe