考试拖延了我快半个月,得抓紧补上这半个月的学习
本篇文章主要介绍常用的包,介绍fmt包里的函数的含义及使用方法
fmt
fmt包实现了类似于c语言printf和scanf格式化I/O,主要分为由内向外输出和由外向内输入的操作
向外输出
- Print 系列函数将内容输出到系统的标准输出。
- Printf函数支持格式化输出字符串。
- Println函数会在输出内容的结尾添加一个换行符。
- 代码演示
func main(){
fmt.Print("直接输入即可,但不会换行。")
name:="tom"
fmt.Printf("name:%s\n",name)
fmt.Println("直接输入即可,自带换行")
fmt.Println("确实自带换行")
}
上述代码输出结果如下
- 直接输入即可,但不会换行。name:tom
- 直接输入即可,自带换行
- 确实自带换行
Sprint
- Sprint系列函数会把传入的数据生成并返回一个字符串
- 代码演示
str:=fmt.Sprint("北京")
name:="小明"
age:=18
str1:=fmt.Sprintf("name:%s,age:%d",name,age)
str2:=fmt.Sprintln("北京")
fmt.Println(str,str1,str2)
获取输入
fmt.Scan
- Scan从标准输入扫描文本,读取由空白分隔符的值保存到本函数的参数中,换行符视为空白符
- 代码演示
var name string
var age int
fmt.Scan(&name,&age)
fmt.Printf("name:%s,age:%d\n",name,age)
在终端中执行显示
- 小明 18
- name:小明 age:18
fmt.Scanf
- Scanf从标准输入扫描文本,根据format参数指定的格式去读取由空白符分隔的值保存到传递给本函数的参数中
- 代码演示
var name string
var age int
fmt.Scanf("name:%s age%d"&name,&age)
fmt.Printf("name:%s,age:%d\n",name,age)
在终端中执行显示
- 小明 21
- name:小明 age:21
- 不同于Scan用空格符作为分隔符,制定了数据类型,类型错误无法输入
fmt.Scanln
- 类似于Scan遇到换行停止扫描
- 代码演示
var name string
var age int
fmt.Scanln(&name,&age)
fmt.Printf("name:%s,age:%d\n",name,age)
在终端中执行显示
- 小明 21
- name:小明 age:21
- fmt.Scanln遇到回车就结束扫描了,比较常用