GO语言中的输入和输出fmt包和bufio包

一、打印输出

1.1 fmt包

fmt包实现了类似C语言printf和scanf的格式化I/O。格式化verb('verb')源自C语言但更简单。

官网fmt的API:Package fmt - The Go Programming Language

1.2 导入包

import "fmt"

1.3 常用打印函数

打印:

func Print(a ...interface{}) (n int, err error)

格式化打印:

func Printf(format string, a ...interface{}) (n int, err error)

打印后换行

func Println(a ...interface{}) (n int, err error)

格式化打印中的常用占位符:

格式化打印占位符:
			%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,打印地址
			。。。

二、键盘输入

2.1 fmt包读取键盘输入

常用方法:

func Scan(a ...interface{}) (n int, err error)

func Scanf(format string, a ...interface{}) (n int, err error)

func Scanln(a ...interface{}) (n int, err error)

2.2 bufio包读取

Package bufio - The Go Programming Language

bufio包中都是IO操作的方法:

先创建Reader对象:

GO语言中的输入和输出fmt包和bufio包_第1张图片  

然后就可以各种读取了:

GO语言中的输入和输出fmt包和bufio包_第2张图片 

完整代码:

package main

import (
	"bufio"
	"fmt"
	"os"
)

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)
	//
	//
	//fmt.Println("-----------------------")


	//var x int
	//var y float64
	//fmt.Println("请输入一个整数,一个浮点类型:")
	//fmt.Scanln(&x,&y)//读取键盘的输入,通过操作地址,赋值给x和y   阻塞式
	//fmt.Printf("x的数值:%d,y的数值:%f\n",x,y)
	//
	//fmt.Scanf("%d,%f",&x,&y)
	//fmt.Printf("x:%d,y:%f\n",x,y)

	/*fmt.Println("请输入两位数,其中一个是十进制一个是字符串类型")
	var a int
	var b string
	fmt.Scanf("%d,%s",&a,&b)
	fmt.Println(a,b)//b为空
	a=10
	fmt.Println(a,b)*/

	fmt.Println("请输入一个字符串")
	reader :=bufio.NewReader(os.Stdin)//os.Stdin指向标准输入文件/dev/stdin,即os.Stdin是标准输入文件/dev/stdin的指针。
	//os.Stdin是os包File结构体的指针类型。
	readString, _ := reader.ReadString('\n')//按行读取
	fmt.Println(readString)

}

其中:os.Stdin指向标准输入文件/dev/stdin,即os.Stdin是标准输入文件/dev/stdin的指针。
os.Stdin是os包File结构体的指针类型。

你可能感兴趣的:(go的学习,go,golang)