go语言 一个主package包引入同级目录下go文件包编译出错是设置错误造成的,解坦仔喊决方法为:
创新互联建站是专业的农安网站建设公司,农安接单;提供做网站、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行农安网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
1、先让野使用import "strings"导入strings库。
2、HasPrefix 判断字符串 s 是否以 prefix 开头。
3、HasSuffix 判断字符串 s 是否以 suffix 结尾。
4、可以看看判断的代码。
5、在cmd下运行一下go run test.go,看看如下结果。
6、Contains 判断字符串戚孙 s 是否包含 substr,也就是判断一下S是否在strings中。
7、在cmd下运行go run test.go看看结果。
包名本质上是所在目录的名称,我们在基础知识演示用例中进行扩展,进一步理解包名,执行前需要执行的命令请参考上一节,首先来看一下目录结构:
此时,如果我们想使用subpackage/sub/subfunc.go时肆帆肢,需要import的是subpackage/sub,而不是subpackage/裂世sub/subfunc,来看具体的实现:
我们回到使用的主函数中,我们在主函数中引入"subpackage/sub",而轿闹调用中直接使用了文件名称myfunc
执行的结果如下
先看一下目录结构,注银伍意这里的src名称是必须的,go在设置了GOPATH后,默认会添加src去寻找package,暂未查询是否有方法不按照src查询
根据上面的描述,Go语言中通过包中函数的名称来区分公共函数和私有函数,我们在main函数中是无法调用myPrivateFunc的
此时如果执行通过go run方式执行,会看到如下的提示信息,这与大部分语言对于包管理方式相关,所以我们通过两种不同的方法来让代码执行起来
返回如下,这里面对我们后续御搏培执行有影响的两个参数GO111MODULE和GOPATH
如果要使用gopath模式引用包,则需要关闭mod模式
设置GOPATH为当前路径,即main.go所在的路径
此时再查看go env时,GOPATH已经发生改变
我们再次尝试执镇唯行代码
可以看到public函数被调用
go语言中main包是谨则特殊的。一般的包名是.go文件的目录名,编译器会将同一目录下的不同.go文件视作同一个包。但是main包的目录不是main目录,所以问题出在你使用的包名上,如果祥竖棚想在main包中添加函数建议写在main函数所在的go文件中,最好的方纤则法是创建另一个包,由main函数调用。