go import

前端之家收集整理的这篇文章主要介绍了go import前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

go import

注意:当写自己包的时候,要使用短小的不含有 _ (下划线) 的小写单词来为文件命名 。

假设我的工作目录是 $GOPATH/src/aland,下面有一个一个文件 main.gohello 目录,hello 目录下有两个文件 hello.gobye.go

// hello.go@H_502_39@
package@H_502_39@ hello

func@H_502_39@ Hello() string@H_502_39@ {
    return@H_502_39@ "Hello"@H_502_39@
}
// bye.go@H_502_39@
package@H_502_39@ hello

func@H_502_39@ Bye() string@H_502_39@ {
    return@H_502_39@ "Bye"@H_502_39@
}

import 的一般形式是import "包的路径或 URL 地址"

相对路径

// main.go@H_502_39@
package@H_502_39@ main

import@H_502_39@ (
    "fmt"@H_502_39@
    "./hello"@H_502_39@
)

func@H_502_39@ main() {
    fmt.Println(hello.Hello())
    fmt.Println(hello.Bye())
}

还有一种方法是使用 . 来作为包的别名,形式如下:

// main.go@H_502_39@
package@H_502_39@ main

import@H_502_39@ (
    "fmt"@H_502_39@
    . "./hello"@H_502_39@
)

func@H_502_39@ main() {
    fmt.Println(Hello())  // 注意这里,不使用包名了@H_502_39@
    fmt.Println(Bye())  // 注意这里,不使用包名了@H_502_39@
}

$GOPATH 路径

下面的写法中,import 会导入 $GOPAHT/src/aland/hello 下的所有的 .go 文件

// main.go@H_502_39@
package@H_502_39@ main

import@H_502_39@ (
    "fmt"@H_502_39@
    "aland/hello"@H_502_39@
)

func@H_502_39@ main() {
    fmt.Println(hello.Hello())
    fmt.Println(hello.Bye())
}

外部包

假设现在我还有一个叫 fruits 的目录是从 github.com 下载下来的,位置是 $GOPATH/src/github.com/alandtsang/fruits
fruits 目录下有一个用来打印水果名字的 Print() 函数

目录结构如下:

[root@ src]# tree@H_502_39@
├── aland
│   ├── hello
│   │   ├── bye.go@H_502_39@
│   │   └── hello.go@H_502_39@
│   └── main.go@H_502_39@
├── github.com@H_502_39@
    ├── alandtsang
        └── fruits
            └── fruits.go@H_502_39@

导入外部包代码

// main.go@H_502_39@
package@H_502_39@ main

import@H_502_39@ (
    "aland/hello"@H_502_39@
    "fmt"@H_502_39@

    "github.com/alandtsang/fruits"@H_502_39@
)

func@H_502_39@ main() {
    fmt.Println(hello.Hello())
    fmt.Println(hello.Bye())
    fmt.Println(fruits.Print())
}
原文链接:https://www.f2er.com/go/189483.html

猜你在找的Go相关文章