Go语言中文文档06-常用标准库
fmt
点击查看代码
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)
Fprint
将内容输出一个io.Writer接口类型的变量w。
点击查看代码
func Fprint(w io.Writer, a ...interface{}) (n int, err error)
func Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error)
func Fprintln(w io.Writer, a ...interface{}) (n int, err error)
Sprint
点击查看代码
func Sprint(a ...interface{}) string
func Sprintf(format string, a ...interface{}) string
func Sprintln(a ...interface{}) string
Error
Errorf函数根据format参数生成格式化字符串并返回一个包含该字符串的错误。
func Errorf(format string, a ...interface{}) error
Scan
func Scan(a ...interface{}) (n int, err error)
Scanf
func Scanf(format string, a ...interface{}) (n int, err error)
fmt.Scanf为输入数据指定了具体的输入内容格式,只有按照格式输入数据才会被扫描并存入对应变量。
Scanln
Scanln类似Scan,它在遇到换行时才停止扫描。最后一个数据后面必须有换行或者到达结束位置。
本函数返回成功扫描的数据个数和遇到的任何错误。
buffo.NewReader
想完整获取输入的内容,而输入的内容可能包含空格。
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)
Sscan
点击查看代码
func Sscan(str string, a ...interface{}) (n int, err error)
func Sscanln(str string, a ...interface{}) (n int, err error)
func Sscanf(str string, format string, a ...interface{}) (n int, err error)
Time
时间类型
time.Time
获取当前时间:time.Now()
时间戳
time.Now().Unix()时间戳
使用time.Unix()函数可以将时间戳转为时间格式。
时间间隔
time.Duration表示1纳秒,time.Second表示1秒。
时间操作
点击查看代码
func (t Time) Add(d Duration) Time
定时器
使用time.Tick(时间间隔)来设置定时器,定时器的本质上是一个通道(channel)。
时间格式化
点击查看代码
func formatDemo() {
now := time.Now()
// 格式化的模板为Go的出生时间2006年1月2号15点04分 Mon Jan
// 24小时制
fmt.Println(now.Format("2006-01-02 15:04:05.000 Mon Jan"))
// 12小时制
fmt.Println(now.Format("2006-01-02 03:04:05.000 PM Mon Jan"))
fmt.Println(now.Format("2006/01/02 15:04"))
fmt.Println(now.Format("15:04 2006/01/02"))
fmt.Println(now.Format("2006/01/02"))
}
Flag
os.Args获取命令行参数,是一个[]string。
两种常用的定义命令行flag参数的方法:
flag.Type(flag名, 默认值, 帮助信息)*Type
flag.TypeVar() flag.TypeVar(Type指针, flag名, 默认值, 帮助信息)
定义好命令行flag参数后,需要通过调用flag.Parse()来对命令行参数进行解析。
flag其他函数
flag.Args() ////返回命令行参数后的其他参数,以[]string类型
flag.NArg() //返回命令行参数后的其他参数个数
flag.NFlag() //返回使用的命令行参数个数
Log
可以通过调用函数Print系列(Print|Printf|Println)、Fatal系列(Fatal|Fatalf|Fatalln)、和Panic系列(Panic|Panicf|Panicln)来使用。
Fatal系列函数会在写入日志信息后调用os.Exit(1)。Panic系列函数会在写入日志信息后panic。
log标准库中的Flags函数会返回标准logger的输出配置,而SetFlags函数用来设置标准logger的输出配置。
func Flags() int
func SetFlags(flag int)
log标准库中还提供了关于日志信息前缀的两个方法:
func Prefix() string
func SetPrefix(prefix string)
其中Prefix函数用来查看标准logger的输出前缀,SetPrefix函数用来设置输出前缀。
func SetOutput(w io.Writer)
SetOutput函数用来设置标准logger的输出目的地,默认是标准错误输出。
log标准库中还提供了一个创建新logger对象的构造函数–New,支持我们创建自己的logger示例。New函数的签名如下:
func New(out io.Writer, prefix string, flag int) *Logger
New创建一个Logger对象。其中,参数out设置日志信息写入的目的地。参数prefix会添加到生成的每一条日志前面。参数flag定义日志的属性(时间、文件等等)。
I/O操作
点击查看代码
func Create(name string) (file *File, err Error)
根据提供的文件名创建新的文件,返回一个文件对象,默认权限是0666
func NewFile(fd uintptr, name string) *File
根据文件描述符创建相应的文件,返回一个文件对象
func Open(name string) (file *File, err Error)
只读方式打开一个名称为name的文件
func OpenFile(name string, flag int, perm uint32) (file *File, err Error)
打开名称为name的文件,flag是打开的方式,只读、读写等,perm是权限
func (file *File) Write(b []byte) (n int, err Error)
写入byte类型的信息到文件
func (file *File) WriteAt(b []byte, off int64) (n int, err Error)
在指定位置开始写入byte类型的信息
func (file *File) WriteString(s string) (ret int, err Error)
写入string信息到文件
func (file *File) Read(b []byte) (n int, err Error)
读取数据到b中
func (file *File) ReadAt(b []byte, off int64) (n int, err Error)
从off开始读取数据到b中
func Remove(name string) Error
删除文件名为name的文件
bufio包实现了带缓冲区的读写,是对文件读写的封装。
Strconv
ParseInt()
func ParseInt(s string, base int, bitSize int) (i int64, err error)
ParseUint类似ParseInt但不接受正负号,用于无符号整型。

浙公网安备 33010602011771号