🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 3.6\. 编写程序 以file.go代码为例,用以下命令编译: ``` $ 6g file.go ``` 6g是针对amd64指令的编译器,它的输出文件为 file.6。其中 ‘6’ 表示文件是 amd64指令的输出文件。 如果是386和arm 处理器,后缀则为 `8` 和 `5`。 也就是说,如果你用的是386处理器,那么应该用8g命令编译, 输出的文件为file.8。 然后用以下命令连接: ``` $ 6l file.6 ``` 运行程序: ``` $ ./6.out ``` 一个完整的例子: ``` $ cat >hello.go <<EOF package main import "fmt" func main() { fmt.Printf("hello, world\n") } EOF $ 6g hello.go $ 6l hello.6 $ ./6.out hello, world $ ``` 在连接的时候,没有必要列出hello.6引用的包(这里用到了fmt包)。 连接器(这里是6l)会自动从hello.6文件获取包的引用信息。 如果是编译更复杂的过程,那么可能需要使用Makefile。相关的例子可以 参考 `$GOROOT/src/cmd/godoc/Makefile` 和`$GOROOT/src/pkg/*/Makefile`。