十三、Go基础编程:工程管理

概述

在实际的开发工作中,直接调用编译器进行编译和链接的场景是少而又少,因为在工程中不 
会简单到只有一个源代码文件,且源文件之间会有相互的依赖关系。如果这样一个文件一个文件逐步编译,那不亚于一场灾难。 Go语言的设计者作为行业老将,自然不会忽略这一点。早期Go语言使用makefile作为临时方案,到了Go 1发布时引入了强大无比的Go命令行工具。

Go命令行工具的革命性之处在于彻底消除了工程文件的概念,完全用目录结构和包名来推 
导工程结构和构建顺序。针对只有一个源文件的情况讨论工程管理看起来会比较多余,因为这可以直接用go run和go build搞定。下面我们将用一个更接近现实的虚拟项目来展示Go语言的基本工程管理方法。
十三、Go基础编程:工程管理

package calc

func Add(a, b int) int { //加
    return a + b
}

func Minus(a, b int) int { //减
    return a - b
}

func Multiply(a, b int) int { //乘
    return a * b
}

func Divide(a, b int) int { //除
    return a / b
}

main.go代码如下: 

package main

import (
    "calc"
    "fmt"
)

func main() {
    a := calc.Add(1, 2)
    fmt.Println("a = ", a)
}

GOPATH设置

windows

十三、Go基础编程:工程管理

十三、Go基础编程:工程管理 十三、Go基础编程:工程管理

 linux

十三、Go基础编程:工程管理

编译运行程序

十三、Go基础编程:工程管理 

 

go install的使用

设置环境变量GOBIN:

十三、Go基础编程:工程管理

在源码目录,敲go install:

十三、Go基础编程:工程管理