Goalng之fmt包

84 篇文章 3 订阅

fmt包接口比较多
介绍一下输出的方法
输出的方法

  • fmt.Print(),输出数据,不换行
  • fmt.Println(),输出数据,换行
  • fmt.Printf(),格式化输出数据
    向文件或者标准输出中输出内容
  • func Fprint(w io.Writer, a …interface{}) (n int, err error)向w中输出内容
  • func Fprintf(w io.Writer, format string, a …interface{}) (n int, err error)向w中格式化输出内容
  • func Fprintln(w io.Writer, a …interface{}) (n int, err error)向w中输出内容
func main() {
	fmt.Fprintf(os.Stdout , "name :%s" , "xiang")
	fmt.Fprint(os.Stdout , "name :", "xiang")
	fmt.Fprintln(os.Stdout ,"name : " , "xiang")
}

格式化字符串

  • func Sprint(a …interface{}) string 返回字符串,多个数据之间不自动生成空格
  • func Sprintf(format string, a …interface{}) string 返回格式化后的字符串
  • func Sprintln(a …interface{}) string 返回多个数据生成的字符串,数据之间生成的字符串之间有空格。
func main() {
	name := fmt.Sprint("name : " , "xiang")
	fmt.Println(name)
	name = fmt.Sprintf("name : %s" , "xiang")
	fmt.Println(name)
	name = fmt.Sprintln("name :" , "xiang")
	fmt.Println(name)
}
  • func Errorf(format string, a …interface{}) error 根据错误返回error类型的值。
    宽度标识符
    %9.2f 其中9是占位符,如果长度不够,会自动占位9位,2是精度,
func main() {
	fmt.Printf("%3.5f" , 1.23555454878)
}
  • 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) 输入字符,直到最后一个数据末尾有换行符之后才停止扫描。但是需要注意,如果传入两个变量,这两个变量之间需要使用空格进行分割。
func main () {
	var name string
	var age int
	fmt.Scan(&name , &age)//输入test 21
	fmt.Println("name : " , name , "age : " , age)
	fmt.Scanf("name:%s , age:%d" , &name , &age)//输入name:test , age:21
	fmt.Println("name : " , name , "age : " , age)
	fmt.Scanln(&name , &age)//输入 test 21回车
	fmt.Println("name : " , name , "age : " , age)
}

fscan系列是从文件中或者从标准输入中进行读取数据。

  • func Fscan(r io.Reader, a …interface{}) (n int, err error)
  • func Fscanln(r io.Reader, a …interface{}) (n int, err error)
  • func Fscanf(r io.Reader, format string, a …interface{}) (n int, err error)
func main () {
	var name string
	fmt.Fscan(os.Stdin , &name)
	fmt.Println(name)
}

Sscan系列,将字符串中的数据进行格式化

  • func Sscan(str string, a …interface{}) (n int, err error) 以空白符为分隔符,扫描到变量中
  • func Sscanln(str string, a …interface{}) (n int, err error) 与sscan类似
  • func Sscanf(str string, format string, a …interface{}) (n int, err error) 将字符串格式化到指针中

func main () {
	test := "te rr tt g"
	ty := "testname"
	var r , s , t string
	fmt.Sscan(test , &r , &s , &t)
	fmt.Println(r , " ", s , " " , t)
	fmt.Sscanf(ty , "test%s" , &t)//注意,以空格为分界符
	fmt.Println(t)
	fmt.Sscanln(ty , "test%s" , &t)//以换行为分界符
	fmt.Println(t)
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值