golang import自定义包 - Go语言中文社区

golang import自定义包


转载请注明来源-作者@loongshawn:http://blog.csdn.net/loongshawn/article/details/68922334,建议读者阅读原文,确保获得完整的信息

1.初探

  刚开始接触go时,以为import自定义包与Java工程类似,在非GOPATH的路径中新建了一个go项目HelloGo,如下:

这里写图片描述

  接下来,利用beego的bee工具新建了另一个项目helloapi,如下:

这里写图片描述

  现在,想在helloapi项目中调用HelloGo项目的函数,通过import引入“HelloGo”,编辑器中一直提示无法引用,即使把HelloGo添加到左下角的GOPATH[helloapi]中,也没有效果。具体如下:

这里写图片描述

  问题出在HelloGo项目的路径上,因为其不在系统定义的GOPATH路径下,查看下系统定义的GOPATH:

localhost:helloapi loongshawn$ echo $GOPATH
/Users/loongshawn/Documents/go/workspace
localhost:helloapi loongshawn$ 

  因此,要想引入自定义的包,需要自定义包的路径为GOPATH路径中。

2.操作

  在工程A中创建方法Say,如下代码:

package routers

import (
    "fmt"
)

func Say() {
    fmt.Println("引用helloweb项目的Say方法")
}

  在工程B中引入工程A,并调用A工程中的Say函数,同时启动工程A,Console输出结果如下:

这里写图片描述

这里写图片描述

  输出结果显示,调用Say函数正常。不知大家注意到被调用函数Say的写法没有,函数名首字母是大写的,如果把其换成小写行不行?在A工程的router.go中新增了print函数,试一下:

func print() {
    fmt.Println("引用helloweb项目的print方法")
}

这里写图片描述

  B工程中重新引用A工程的print方法,但是引用不了。因此,在写可调用方法时,方法名首字母需要大写,这是需要注意的一点。

这里写图片描述

  由于接触Go不久,许多地方理解不一定到位,如有纰漏之处,请各位同学帮忙指出来,谢谢!

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/loongshawn/article/details/68922334
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-09-05 13:34:28
  • 阅读 ( 1709 )
  • 分类:Go

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢