源码文件分类
- 命令源码文件
- 独立程序入口
- 属于mian包,包含无参数无结果的main函数
- 可通过go run命令运行,可接受命令行参数
- main函数执行的结束就意味着当前程序运行的结束
- 同一个代码包不要放多个源码文件
- 命令源码文件与库源码文件也不要放在同一个代码包
- 构建
- 构建后生成可执行文件
- 生成位置在命令执行目录
- 安装
- 安装后生成可执行文件
- 生成位置在当前工作区的bin子目录或GOBIN包含的记录
- 库源码文件
- 先略过
- 测试源码文件
- 先略过
命令源码文件的用途是什么,怎样编写它?
命令源码文件是程序的运行入口,是每个可独立运行的程序必须拥有的。我们可以通过构建或安装,生成与其对应的可执行文件,后者一般会与该命令源码文件的直接父目录同名。
命令源码文件怎样接收参数
flag.StringVar(&name, "name", "everyone", "The greeting object.")
flag.Parse()
var name = flag.String("name", "everyone", "The greeting object.")
怎样在运行命令源码文件的时候传入参数,又怎样查看参数的使用说明
go run demo2.go -name="Robert"
思考题
默认情况下,我们可以让命令源码文件接受哪些类型的参数值?
- 有布尔类型、整数类型、浮点数类型、字符串类型,以及time.Duration类型
我们可以把自定义的数据类型作为参数值的类型吗?如果可以,怎样做?
- 狭义上讲是不可以的,但是广义上讲是可以的。这需要一些定制化的工作,并且被给定的参数值只能是序列化的。具体可参见flag代码包文档中的例子。