goLang引入自定义包的方法

 更新时间:2019-09-09 09:01:39   作者:佚名   我要评论(0)

看完golang的基本语法后,为了模块化编程,试用了下golang的包管理,结果真踩了几个坑,总结一下吧。
一. 设置$GOPATH环境变量
golang和C或php不一样,不会自

看完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”不一致;
}

以上这篇goLang引入自定义包的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

  • Golang中的自定义函数详解
  • golang对自定义类型进行排序的解决方法
  • Go语言之自定义集合Set

相关文章

  • goLang引入自定义包的方法

    goLang引入自定义包的方法

    看完golang的基本语法后,为了模块化编程,试用了下golang的包管理,结果真踩了几个坑,总结一下吧。 一. 设置$GOPATH环境变量 golang和C或php不一样,不会自
    2019-09-09
  • go时间/时间戳操作大全(小结)

    go时间/时间戳操作大全(小结)

    基本操作 01: 获取当前时间 dateTime := time.Now() fmt.Println(dateTime) 02: 获取年 月 日 时 分 秒 纳秒 year := time.Now().Year() //年 fmt.P
    2019-09-09
  • golang gorm中格式化时间问题详解

    golang gorm中格式化时间问题详解

    前言 最近在开发项目时遇到了发现一个问题, gorm虽然可以自动帮你维护 created_at、updated_at、deleted_at这些关键时间字段。但是其原理与弊端需要了解一
    2019-09-09
  • Golang TCP粘包拆包问题的解决方法

    Golang TCP粘包拆包问题的解决方法

    什么是粘包问题 最近在使用Golang编写Socket层,发现有时候接收端会一次读到多个数据包的问题。于是通过查阅资料,发现这个就是传说中的TCP粘包问题。下面
    2019-09-09
  • 下载golang.org/x包的操作方法

    下载golang.org/x包的操作方法

    golang.org/x包放到了https://github.com/golang/text中,下载时需要先在本地建立golang.org/x的目录后,再下载。 mkdir -p golang.org/x git clone https://
    2019-09-09
  • Golang 使用http Client下载文件的实现方法

    Golang 使用http Client下载文件的实现方法

    之前使用beego的http库的时候,有的情况需要下载文件。beego是能实现,但就是有点问题:不支持回调,没法显示下载速度,这在日常开发中是不可忍受的。 看了下be
    2019-09-09
  • 基于Go和Gin的环境配置方法

    基于Go和Gin的环境配置方法

    1.官方下载Go版本,安装相应平台的程序。 2.配置Go的环境变量: GOROOT:GO安装路径,例如GOROOT = D:\Go GOPATH: 项目源码所在目录(例如GOPATH = E:\go),
    2019-09-09
  • golang 检查网络状态是否正常的方法

    golang 检查网络状态是否正常的方法

    如下所示: package main import ( "fmt" "os/exec" "time" ) func NetWorkStatus() bool { cmd := exec.Command("ping", "baidu.com", "-c", "1", "
    2019-09-09
  • gorm golang 并发连接数据库报错的解决方法

    gorm golang 并发连接数据库报错的解决方法

    底层报错 error:cannot assign requested address 原因 并发场景下 client 频繁请求端口建立tcp连接导致端口被耗尽 解决方案 root执行即可 sysctl -w net.
    2019-09-09
  • golang socket断点续传大文件的实现方法

    golang socket断点续传大文件的实现方法

    在日常编程中,我们肯定会遇到用socket传送文件内容,如果是大文件的,总不能传送到一半因某原因断掉了,又从新传送文件内容吧。对,我们需要续传,也就是接着
    2019-09-09

最新评论