【愚公系列】2022年7月 Go教学课程 006-自动推导类型和输入输出
【摘要】 一、自动推导类型 1.自动推导类型自动推导类型,在声明赋值变量时,不需要var和变量类型,其类型是由所赋值来决定的。package mainimport "fmt"func main() { //初始化 var a int = 10 //赋值 a = 20 //自动推导 b := 30 //输出 fmt.Println(a, b)} 2.总结什么是自动推导类型:在声明赋值变量时,不需要va...
一、自动推导类型
1.自动推导类型
自动推导类型,在声明赋值变量时,不需要var和变量类型,其类型是由所赋值来决定的。
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)
- 变量地址:在内存中会为变量开辟出对应的存储单元,为了能够找到该存储单元存取 数据,系统会将每个单元加上一个编号,这个编号就是地址
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)