flag库的用法
直接解析数据
根据需要传入的数据类型,直接进行数据解析。从左到右依次是:解析的命令、默认值、说明。
代码实例:
package main
import (
"flag"
"fmt"
)
func main() {
wordPtr := flag.String("word", "foo", "a string")
numbPtr := flag.Int("numb", 1024, "an int") // 以此为例,命令行名称是numb 默认1024,说明是int
boolPtr := flag.Bool("fork", false, "an bool")
flag.Parse()
fmt.Println("word:", *wordPtr)
fmt.Println("numb:", *numbPtr)
fmt.Println("fork", *boolPtr)
}
命令行操作输入,假设配置好了环境变量,而且是在当前目录下打开的终端,文件名称是edit.go
输入:
go run edit.go
输出:
word: foo
numb: 1024
fork false
输入:
go run edit.go -word="hello world" -numb=58 -fork=true
输出:
word: hello world
numb: 58
fork true
输入:
go run edit.go -h
输出:
Usage of /tmp/go-build604709361/b001/exe/edit:
-fork
an bool
-numb int
an int (default 1024)
-word string
a string (default "foo")
exit status 2
使用var函数绑定数据
代码:
package main
import (
"flag"
"fmt"
)
func main() {
var flagvar int
flag.IntVar(&flagvar, "flag", 1234, "an int")
flag.Parse()
fmt.Println(flagvar)
}
命令行操作类比上面的。。。
也可以解析自定义的数据,使用interface
的方式,在这里不赘述,一般这也用不到。。。。还是第一种方式最常用。
os库
在这里主要记录创建文件的操作。。。。
func Create(name string) (*File, error) // 创建文件name文件,error类型是*PathError
func Open(name string) (*File, error) // 打开`name`文件,error类型是*PathError
func (f *File) Close() error // 关闭文件
strconv库
实现字符串向其他数据类型转换:
func Atoi(s string) (int, error) // 字符转化成整型
func Itoa(s string) (int, error) // 整型转化成字符型