当前位置:网站首页>【愚公系列】2022年7月 Go教学课程 006-自动推导类型和输入输出
【愚公系列】2022年7月 Go教学课程 006-自动推导类型和输入输出
2022-07-07 22:38:00 【InfoQ】
一、自动推导类型
1.自动推导类型
package main
import "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 main
import "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 main
import "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)
- 变量地址:在内存中会为变量开辟出对应的存储单元,为了能够找到该存储单元存取 数据,系统会将每个单元加上一个编号,这个编号就是地址
边栏推荐
- paddle一个由三个卷积层组成的网络完成cifar10数据集的图像分类任务
- Huawei switch s5735s-l24t4s-qa2 cannot be remotely accessed by telnet
- 动态库基本原理和使用方法,-fPIC 选项的来龙去脉
- [basis of recommendation system] sampling and construction of positive and negative samples
- What is load balancing? How does DNS achieve load balancing?
- Prompt configure: error: required tool not found: libtool solution when configuring and installing crosstool ng tool
- After going to ByteDance, I learned that there are so many test engineers with an annual salary of 40W?
- Experience of autumn recruitment in 22 years
- Two small problems in creating user registration interface
- paddle入门-使用LeNet在MNIST实现图像分类方法一
猜你喜欢
5G NR 系统消息
[programming problem] [scratch Level 2] March 2019 draw a square spiral
35岁真就成了职业危机?不,我的技术在积累,我还越吃越香了
Reptile practice (VIII): reptile expression pack
[the most detailed in history] statistical description of overdue days in credit
玩转Sonar
"An excellent programmer is worth five ordinary programmers", and the gap lies in these seven key points
3年经验,面试测试岗20K都拿不到了吗?这么坑?
Two small problems in creating user registration interface
大数据开源项目,一站式全自动化全生命周期运维管家ChengYing(承影)走向何方?
随机推荐
[研发人员必备]paddle 如何制作自己的数据集,并显示。
单机高并发模型设计
Common selectors are
[the most detailed in history] statistical description of overdue days in credit
1293_ Implementation analysis of xtask resumeall() interface in FreeRTOS
深潜Kotlin协程(二十二):Flow的处理
应用实践 | 数仓体系效率全面提升!同程数科基于 Apache Doris 的数据仓库建设
RPA云电脑,让RPA开箱即用算力无限?
【编程题】【Scratch二级】2019.09 制作蝙蝠冲关游戏
Is Zhou Hongyi, 52, still young?
When creating body middleware, express Is there any difference between setting extended to true and false in urlencoded?
[programming problem] [scratch Level 2] draw ten squares in December 2019
Operating system principle --- summary of interview knowledge points
Use filters to count URL request time
接口测试进阶接口脚本使用—apipost(预/后执行脚本)
如果在构造函数中抛出异常,最好的做法是防止内存泄漏?
paddle入门-使用LeNet在MNIST实现图像分类方法二
Experience of autumn recruitment in 22 years
动态库基本原理和使用方法,-fPIC 选项的来龙去脉
What if the testing process is not perfect and the development is not active?