Go语言的输入与输出
输出
1.1 fmt包
fmt包实现了类似C语言printf和scanf的格式化I/O。格式化verb(‘verb’)源自C语言但更简单。
1.2 导入包
import "fmt"
1.3 常用打印函数
打印:Print / Println
格式化打印:Printf
格式化打印占位符:
%v,原样输出
%T,打印类型
%t,bool类型
%s,字符串
%f,浮点
%d,10进制的整数
%b,2进制的整数
%o,8进制
%x,%X,16进制
%x:0-9,a-f
%X:0-9,A-F
%c,打印字符
%p,打印地址
示例代码如下
package main
import (
"fmt"
)
func main() {
a := 100 //int
b := 3.14 //float64
c := true // bool
d := "Hello World" //string
e := `Ruby` //string
f := 'A'
fmt.Printf("%T,%b\n", a, a)
fmt.Printf("%T,%f\n", b, b)
fmt.Printf("%T,%t\n", c, c)
fmt.Printf("%T,%s\n", d, d)
fmt.Printf("%T,%s\n", e, e)
fmt.Printf("%T,%d,%c\n", f, f, f)
fmt.Println("-----------------------")
fmt.Printf("%v\n", a)
fmt.Printf("%v\n", b)
fmt.Printf("%v\n", c)
fmt.Printf("%v\n", d)
fmt.Printf("%v\n", e)
fmt.Printf("%v\n", f)
}
输入
2.1 fmt包中的常用函数
Scan()
Scanf
Scanln
如代码所示
//输入整形和浮点型的两个方法
//Scanln和Scanf
var x int
var y float64
fmt.Println("请输入一个整形和一个浮点类型")
fmt.Scanln(&x,&y)
fmt.Printf("a:%d,b:%f\n", x, y)
fmt.Scanf("%d,%f",x,y)
fmt.Printf("x:%d,y:%f", x, y)
2.2 bufio包读取
先创建Reader对象在进行读取
如代码所示
package main
import (
"fmt"
"os"
"bufio"
)
func main() {
fmt.Println("请输入一个字符串:")
reader := bufio.NewReader(os.Stdin)
s1, _ := reader.ReadString('\n')
fmt.Println("输入的数据:", s1)
}