GO标准库 fmt标准库

主要为向外输出内容和获取输入内容

  1. fmt.Print

os.Stdout代表标准输出,即控制台输出

Print 标准输出
Println 标准输出+换行
Printf 格式化标准输出

  1. 占位符

占位符

说明

%v

值的默认格式表示

%+v

类似%v,但输出结构体时会添加字段名

%#v

值的Go语法表示

%T

打印值的类型

%%

百分号

%t

true or false

%b

表示为二进制

%c

该值对应的unicode码值

%d

表示为十进制

%o

表示为八进制

%x

表示为十六进制,使用a-f

%X

表示为十六进制,使用A-F

字符串和[]byte

占位符

说明

%s

直接输出字符串或者[]byte

%q

该值对应的双引号括起来的go语法字符串字面值,必要时会采用安全的转义表示

%x

每个字节用两字符十六进制数表示(使用a-f

%X

每个字节用两字符十六进制数表示(使用A-F)

指针

占位符

说明

%p

表示为十六进制,并加上前导的0x

特殊

空格

对数值,正数前加空格而负数前加负号;对字符串采用%x或%X时(% x或% X)会给各打印的字节之间加空格

  1. Fprint

将内容输出到一个io.Writer接口类型的变量w中。

func Fprint(w io.Writer, a ...any)(n int, err error){
	p :=newPrinter()
	p.doPrint(a)
	n, err = w.Write(p.buf)
	p.free()
	return
}
func Fprintf(w io.Writer, format string, a ...any)(n int, err error){
	p :=newPrinter()
	p.doPrintf(format, a)
	n, err = w.Write(p.buf)
	p.free()
	return
}
func Fprintln(w io.Writer, a ...any)(n int, err error){
	p :=newPrinter()
	p.doPrintln(a)
	n, err = w.Write(p.buf)
	p.free()
	return
}

n是写入的字节数量,err是返回的错误

用于向文件写入数据,写文件权限

//r表示可读
//w表示可写
//x表示可执行
//第1位:文件属性,一般常用的是"-",表示是普通文件;"d"表示是一个目录。
//第2~4位:文件所有者的权限rwx (可读/可写/可执行)。
//第5~7位:文件所属用户组的权限rwx (可读/可写/可执行)。
//第8~10位:其他人的权限rwx (可读/可写/可执行)。
//在golang中,可以使用os.FileMode(perm).String()来查看权限标识:
//os.FileMode(0777).String() //返回 -rwxrwxrwx  111 111 111
//os.FileMode(0666).String() //返回 -rw-rw-rw-  110 110 110
//os.FileMode(0644).String() //返回 -rw-r--r-- 
//0777表示:创建了一个普通文件,所有人拥有所有的读、写、执行权限
//0666表示:创建了一个普通文件,所有人拥有对该文件的读、写权限,但是都不可执行
//0644表示:创建了一个普通文件,文件所有者对该文件有读写权限,用户组和其他人只有读权限,都没有执行权限

  1. Sprint

func Sprint(a ...any)string{
	p :=newPrinter()
	p.doPrint(a)
	s :=string(p.buf)
	p.free()
	return s
}
func Sprintf(format string, a ...any)string{
	p :=newPrinter()
	p.doPrintf(format, a)
	s :=string(p.buf)
	p.free()
	return s
}
func Sprintln(a ...any)string{
	p :=newPrinter()
	p.doPrintln(a)
	s :=string(p.buf)
	p.free()
	return s
}

把传入的数据生成并返回一个字符串

用于将多种类型的数据组合为一个字符串

  1. Errorf

func Errorf(format string, a ...any) error

将字符串类型转为error类型

  1. Scan

func Scan(a ...any)(n int, err error){
	return Fscan(os.Stdin, a...)
}

从os.Stdin标准输入(控制台输入)输入文本,以空格分割

n为成功扫描的个数,err为error

var a int
var b string
fmt.Scan(&a,&b)//输出 10 string 
//10赋给a string赋给b
fmt.Scanf("1: %d ,2: %s "&a,&b)//需要输入 1:10 ,2:string

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值