当前位置:网站首页>【愚公系列】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)
- 变量地址:在内存中会为变量开辟出对应的存储单元,为了能够找到该存储单元存取 数据,系统会将每个单元加上一个编号,这个编号就是地址
边栏推荐
- How to measure whether the product is "just needed, high frequency, pain points"
- A brief history of information by James Gleick
- [the most detailed in history] statistical description of overdue days in credit
- How to learn a new technology (programming language)
- Database query - what is the highest data?
- 51与蓝牙模块通讯,51驱动蓝牙APP点灯
- Is it safe to open an account on the official website of Huatai Securities?
- C language 001: download, install, create the first C project and execute the first C language program of CodeBlocks
- Emotional post station 010: things that contemporary college students should understand
- Go learning notes (1) environment installation and hello world
猜你喜欢
玩轉Sonar
[programming problem] [scratch Level 2] December 2019 flying birds
What if the testing process is not perfect and the development is not active?
[programming questions] [scratch Level 2] March 2019 garbage classification
【編程題】【Scratch二級】2019.12 飛翔的小鳥
C # generics and performance comparison
Smart regulation enters the market, where will meituan and other Internet service platforms go
【编程题】【Scratch二级】2019.12 绘制十个正方形
ReentrantLock 公平锁源码 第0篇
How to measure whether the product is "just needed, high frequency, pain points"
随机推荐
Operating system principle --- summary of interview knowledge points
【编程题】【Scratch二级】2019.03 绘制方形螺旋
Usage of limit and offset (Reprint)
备库一直有延迟,查看mrp为wait_for_log,重启mrp后为apply_log但过一会又wait_for_log
How to learn a new technology (programming language)
玩轉Sonar
How does starfish OS enable the value of SFO in the fourth phase of SFO destruction?
Open display PDF file in web page
SQL knowledge summary 004: Postgres terminal command summary
Qt添加资源文件,为QAction添加图标,建立信号槽函数并实现
Single machine high concurrency model design
paddle入门-使用LeNet在MNIST实现图像分类方法二
【笔记】常见组合滤波电路
商品的设计等整个生命周期,都可以将其纳入到产业互联网的范畴内
【编程题】【Scratch二级】2019.12 绘制十个正方形
【编程题】【Scratch二级】2019.09 绘制雪花图案
A brief history of information by James Gleick
【编程题】【Scratch二级】2019.09 制作蝙蝠冲关游戏
【GO记录】从零开始GO语言——用GO语言做一个示波器(一)GO语言基础
Su embedded training - Day3