GO语言核心笔记2命令源码文件

523 阅读2分钟

源码文件分类

  • 命令源码文件
    • 独立程序入口
    • 属于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代码包文档中的例子。