深入浅出golangGolang 入门资料+笔记Go

golang快速入门[7.1]-项目与依赖管理-gopath

2020-03-03  本文已影响0人  唯识相链2

前文

前言

gopath是什么

C:\Windows\system32> go env
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\jackson\AppData\Local\go-build
set GOENV=C:\Users\jackson\AppData\Roaming\go\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\jackson\go
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=c:\go
...

go/
├── bin
├── pkg
└── src

go/
├── bin
     └── main.exe
├── pkg
     ├── darwin_amd64
     └── mod
└── src
    ├── github.com
    │   ├── tylfin
    │   │   ├── dynatomic
    │   │   └── geospy
    │   └── uudashr
    │       └── gopkgs
    └── golang.org
        └── x
            └── tools

go/
├── bin
├── pkg
└── src
    └── github.com
           └── dreamerjackson
                     └── theWayToGolang

import "blue/red"

实际引用的是$GOPATH/src/blue/red 文件中的代码。

同理,如果导入为

import "github.com/gobuffalo/buffalo"

实际引用的是$GOPATH/src/github.com/gobuffalo/buffalo 文件中的代码。

下面我们用一个例子来说明导入第三方包

» mkdir mymath
» cd mymath
» touch add.go

add.go的内容如下,要注意导出的函数必须是首字母大写的,这是go语言的规则。

package mymath

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

接着在$GOPATH/src中创建一个main.go文件,即可以完整的调用mymath包中的add函数。

package main

import (
    "fmt"
    "mymath"
)

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

gopath的优劣

总结

参考资料

更多原创文章干货分享,请关注公众号

image

加技术交流群请加微信(注明:交流群):ywj2271840211

上一篇 下一篇

猜你喜欢

热点阅读