写点什么

【愚公系列】2022 年 7 月 Go 教学课程 006- 自动推导类型和输入输出

作者:愚公搬代码
  • 2022 年 7 月 07 日
  • 本文字数:1165 字

    阅读完需:约 4 分钟

一、自动推导类型

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)

  • 变量地址:在内存中会为变量开辟出对应的存储单元,为了能够找到该存储单元存取 数据,系统会将每个单元加上一个编号,这个编号就是地址

发布于: 刚刚阅读数: 3
用户头像

还未添加个人签名 2022.03.01 加入

该博客包括:.NET、Java、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、python、大数据等相关使用及进阶知识。查看博客过程中,如有任何问题,皆可随时沟通。

评论

发布
暂无评论
【愚公系列】2022年7月 Go教学课程 006-自动推导类型和输入输出_7月月更_愚公搬代码_InfoQ写作社区