Golang自定义包导入

Posted kumata

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Golang自定义包导入相关的知识,希望对你有一定的参考价值。

# 文件Tree
project
-/bin
-/pkg
-/src
    -main.go
    -/test
        -test1.go
        -test2.go

main.go

package main

import (
    "fmt"
    "./test"
)
    

func main() {
        fmt.Print("test1
")
        test.Ojbk1()
        fmt.Print("test2
")
        test.Ojbk2("okokok")  
}

test/test1.go

package test

import "fmt"

func Ojbk1() {
    fmt.Println("This is test1 , done ")
}

test/test2.go

package test

import "fmt"

func Ojbk2(info) {
    fmt.Println(info)
}

 

1.import语句使用的是文件夹的名称

  • 上面的import后面的参数对应的就是文件夹test
  • 导入方式:import(./test)

2.文件夹的名称和package的名称不一定相同

上面的例子中,文件夹是test,package名称是test(也可以写别的名称)。

3.调用自定义包使用package名称.函数名的方式

例如上面使用的test.Ojkb1()

4.自定义包的调用和文件名没有关系

例如上面的test1.go文件,如果改成test_xxxx.go,程序也能正常编译。编译系统会自动查找test文件夹下的所有文件,在其中寻找package test,然后选择Ojbk1函数。

 

 

 

参考链接:

https://my.oschina.net/zlLeaf/blog/174404
https://studygolang.com/articles/12842?fr=sidebar


以上是关于Golang自定义包导入的主要内容,如果未能解决你的问题,请参考以下文章

Golang自定义包导入

golang 自定义importpath

如何在golang使用自定义的包

golang 引入 和 创建 包

vscode 自定义导包失败问题

Golang basic_leaminggo mod 以及包详解