go语言–输入输出
1. fmt.San输入
Go fmt包下有三个函数,可以在程序运行过程中获取用户输入:
输入类型 | 解释 |
---|---|
fmt.Scan | 获取输入 |
fmt.Scanf | 获取输入,但是可以指定格式,go语言会根据格式解析参数 |
fmt.Scanln | 获取一行的输入,只会获取到一行 |
– | – |
示例代码如下:
示例1:
package main
import "fmt"
func main(){
fmt.Println("Please enter your firstname and lastname")
var a1,a2 string
fmt.Scan(&a1,&a2)
fmt.Println("hello ",a1," and ",a2)
}
输入的时候,大家尝试中间以空格分隔或者以换行分隔。观察发现,scan都可以实现。
示例2:
Scanln和Scan非常类似,只是Scanln只会接受一个回车,收到回车就扫描结束。
package main
import "fmt"
func main(){
fmt.Println("Please enter your firstname and lastname")
var a1,a2 string
fmt.Scanln(&a1,&a2)
fmt.Println("hello ",a1," and ",a2)
}
士例3:
Scanf按照某种固定的格式进行输入,返回值为(int,error)
package main
import "fmt"
func main(){
fmt.Println("Please enter your firstname and lastname")
var a1,a2 string
fmt.Scanf("%s %s",&a1,&a2)
fmt.Println("hello ",a1," and ",a2)
}
2.fmt.Print输出
常见输出格式如下:
格式 | 解释 |
---|---|
%s | 直接输出字符串或者[]byte |
%x | 每个字节用两字符十六进制数表示(使用a~f) |
%X | 每个字节用两字符十六进制数表示(使用A~F) |
%f | 默认宽度,默认精度 |
%9f | 宽度9,默认精度 |
%.2f | 默认宽度,精度2 |
%9.2f | 宽度9,精度2 |
%b | 表示为二进制 |
%c | 该值对应的unicode码值 |
%d | 表示为十进制 |
%o | 表示为八进制 |
– | – |
go fmt包下有三种类型输出函数:
输出类型 | 解释 |
---|---|
fmt.Print | 输出 |
fmt.Println | 输出并且换行 |
fmt.Printf | 按照指定格式输出 |
– | – |