前言:这篇简单整理了一下golang的包管理相关内容。

一、package

  1. package是基本复用模块单元。

注:以首字母大小写来区分是否可被包外代码访问。
大写代表,可以被包外引入。
小写代表,不可被包外引入。

  1. package名可以与目录名不一致。(但建议一致)

  2. 同一目录下的Go文件,必须属于同一个package。

go env

操作步骤:

GoPathGoPath

打开终端并输入:

vim ~/.bash_profile
GoPath
export GOPATH="/Users/Liu/go:/Users/Liu/Documents/VSCode/go_learning"
export PATH="$HOME/.Liu/bin:$PATH"
  • 第二步:编写包依赖代码
seriespackage
package series

// 小写开头square,只能在当前package内部使用
func square(n int) int {
    return n * n
}

// 大写开头Square,可以被此package外部引入使用
func Square(n int) int {
    return n * n
}
packageclient
package client

import (
    "ch15/series"
    "testing"
)

func TestPackage(t *testing.T) {
    t.Log("result =", series.Square(2)) // 大写开头Square,可以引入使用
    // t.Log(series.square(2)) // 小写开头找不到
}
publicprivate

二、依赖管理工具

安装glide:

brew install glide

初始化glide:

glide init