go语言学习第十八天——Go常用库(2)| Go主题月

Flag

Go语言内置的flag包实现了命令行参数的解析,flag包使得开发命令行工具更为简单。
flag包支持的命令行参数类型有bool、int、int64、uint、uint64、float float64、string、duration。

  1. lag.Args() ////返回命令行参数后的其他参数,以[]string类型
  2. flag.NArg() //返回命令行参数后的其他参数个数
  3. flag.NFlag() //返回使用的命令行参数个数

Log

使用Logger

log包定义了Logger类型,该类型提供了一些格式化输出的方法。本包也提供了一个预定义的“标准”logger,可以通过调用函数Print系列(Print|Printf|Println)、Fatal系列(Fatal|Fatalf|Fatalln)、和Panic系列(Panic|Panicf|Panicln)来使用,比自行创建一个logger对象更容易使用。
配置logger

默认情况下的logger只会提供日志的时间信息,但是很多情况下我们希望得到更多信息,比如记录该日志的文件名和行号等。log标准库中为我们提供了定制这些设置的方法。

log标准库中的Flags函数会返回标准logger的输出配置,而SetFlags函数用来设置标准logger的输出配置。

IO操作

  1. os.Stdin:标准输入的文件实例,类型为*File
    复制代码
  2. os.Stdout:标准输出的文件实例,类型为*File
    复制代码
  3. os.Stderr:标准错误输出的文件实例,类型为*File
    复制代码

相关API

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的文件
复制代码

Http

Go语言提供了HTTP客户端和服务端的实现。Go语言内置的net/http包提供了HTTP客户端和服务端的实现。

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。

HTTP客户端

基本的HTTP/HTTPS请求 Get、Head、Post和PostForm函数发出HTTP/HTTPS请求。

HTTP服务端

ListenAndServe使用指定的监听地址和处理器启动一个HTTP服务端。处理器参数通常是nil,这表示采用包变量DefaultServeMux作为处理器。
Handle和HandleFunc函数可以向DefaultServeMux添加处理器。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享