源码文件组织形式
Go语言以代码包的形式组织源码文件。有三种类型的源码文件:命令源码、库源码和测试源码。命令源码即使用Go语言编写的可执行的命令行程序。库源码是开发出来供其他程序使用的静态库,以.a结尾。测试源码是用来对代码进行单元测试的测试代码,分为功能测试、性能测试和示例三种。这篇文章主要学习的是如何使用Go语言编写命令源码程序。
编写命令源码文件
命令源码文件必须声明为main包。如果由多个源码文件组织而成,那么有且仅有一个源文件包含名为main
的无参函数。
package main
import "fmt"
func main() {
fmt.Println("hello, world")
}
接收和解析命令行参数
Go语言提供flag包来负责解析命令行参数。我们需要先声明用于接收命令行参数的变量,然后在init
函数中进行绑定,然后在main
函数中首先进行解析,就可以使用对应的变量了,此时该变量接收的是命令行传来的参数。
package main
import (
"flag"
"fmt"
)
var name string
func init() {
flag.StringVar(&name, "name", "world", "object to greet")
}
func main() {
flag.Parse()
fmt.Printf("Hello, %s!\n", name)
}
注:每个源代码文件都可以定义自己的init
函数,而且可以定义多次,该函数用来建立程序所必须的状态。程序中所有的包被引入,且所有的变量声明都执行完初始化操作后,init
函数就立即被执行。
源码的参数使用说明是可以自定义的。具体请参考有关flag包的官方文档详细说明。
网友评论