当前位置:网站首页>【愚公系列】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)
- 变量地址:在内存中会为变量开辟出对应的存储单元,为了能够找到该存储单元存取 数据,系统会将每个单元加上一个编号,这个编号就是地址
边栏推荐
- Development of a horse tourism website (realization of login, registration and exit function)
- 3 years of experience, can't you get 20K for the interview and test post? Such a hole?
- Installation and configuration of sublime Text3
- 【转载】解决conda安装pytorch过慢的问题
- 浪潮云溪分布式数据库 Tracing(二)—— 源码解析
- 快速上手使用本地测试工具postman
- C language 005: common examples
- 深潜Kotlin协程(二十二):Flow的处理
- Deep dive kotlin collaboration (the end of 23): sharedflow and stateflow
- [programming problem] [scratch Level 2] draw ten squares in December 2019
猜你喜欢

5G NR 系统消息

Huawei switch s5735s-l24t4s-qa2 cannot be remotely accessed by telnet

Detailed explanation of interview questions: the history of blood and tears in implementing distributed locks with redis

C language 005: common examples

Development of a horse tourism website (optimization of servlet)

【笔记】常见组合滤波电路

某马旅游网站开发(登录注册退出功能的实现)

An error is reported during the process of setting up ADG. Rman-03009 ora-03113

Daily question brushing record (16)

【编程题】【Scratch二级】2019.03 绘制方形螺旋
随机推荐
【编程题】【Scratch二级】2019.12 飞翔的小鸟
Single machine high concurrency model design
"An excellent programmer is worth five ordinary programmers", and the gap lies in these seven key points
Notice on organizing the second round of the Southwest Division (Sichuan) of the 2021-2022 National Youth electronic information intelligent innovation competition
Installation and configuration of sublime Text3
Detailed explanation of interview questions: the history of blood and tears in implementing distributed locks with redis
QT establish signal slots between different classes and transfer parameters
【編程題】【Scratch二級】2019.12 飛翔的小鳥
商品的设计等整个生命周期,都可以将其纳入到产业互联网的范畴内
new和delete的底层原理以及模板
Which securities company has a low, safe and reliable account opening commission
如果在构造函数中抛出异常,最好的做法是防止内存泄漏?
Flask learning record 000: error summary
DNS 系列(一):为什么更新了 DNS 记录不生效?
深潜Kotlin协程(二十二):Flow的处理
Play sonar
[programming problem] [scratch Level 2] December 2019 flying birds
CoinDesk评波场去中心化进程:让人们看到互联网的未来
Set up personal network disk with nextcloud
Service Mesh介绍,Istio概述