goLang引入自定义包

看完golang的基本语法后,为了模块化编程,试用了下golang的包管理,结果真踩了几个坑,总结一下吧。


一. 设置$GOPATH环境变量

golang和C或php不一样,不会自动查找当前路径下的文件,必须先在$GOAPTH里添加自己工程的路径;


二. 自定义包里面对外提供的API函数,首字母必须大写

如:func api() string {return “hello api!”}则不能被包外的函数检测到;
应改为:func Api() string {return “hello api!”}


三. 包的编译和安装

包的.go文件必须存放在一个独立的文件夹下(如test)。
然后对test文件夹使用 go build 和 go install 命令:之后在$GOPATH下添加生成pkg文件夹,文件夹下则生成test.a文件(因此,包文件的父文件夹名最后和包名一致)


四. 包的使用

生成包的名字和包的真实名字可以不一致;
如目录结构如下:

project
  >src
    >test
        >my.go
  main.go
  >pkg
    >XXXXXX
        >test.a

my.go的代码如下:

package my

func Test() string{ return "my.test"}

main.go的代码如下:

package my
import(
    "fmt"
    "test"
)

func main(){
    fmt.println(my.Test()); //可见这里使用“my”和import “test”不一致;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值