Go语言的新包plu go语言包管理

如何安装Go语言安装包go语言作为google的一个主推语言,最近很多人都在研究,也花了一点时间对他的安装进行了测试 , 本人使用Sublime Text 2GoSublimegocode
顾名思义首先是安装Go,这里有很详细的安装说明,或者(golang.org自己去找hosts),官方已经支持Windows版本
下载解压配置环境变量
“环境变量”(我的电脑-高级系统设置-环境变量),在系统变量的标签下,依次新建编辑如下几个键值对:
(1). 新建 变量名:GOBIN 变量值 :c:\go\bin
(2). 新建 变量名:GOARCH 变量值:386
(3). 新建 变量名:GOOS 变量值:windows
(4). 新建 变量名: GOROOT 变量值:c:\go
(5). 编辑 Path 在Path的变量值的最后加上 %GOBIN%
1. 下载 Sublime Text 2,地址如下:
2. 解压以后,双击 sublime_text , 就可以使用 Sublime Text 2 了 。
破解:
用 WinHex 编辑 sublime_text_backup.exe 文件, 跳到 000CBB70那一行,将该行的 8AC3修改为 B0 01 然后保存
破解注册成功
3. 安装 Package Control,在打开 Sublime Text 2以后,按下快捷键 Ctrl`,打开命令窗行(具体在view——show Console),并回车:
import urllib2,os; pf=’Package Control.sublime-package’; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),’wb’).write(urllib2.urlopen(‘’ pf.replace(‘ ‘,’ ′)).read()); print ‘Please restart Sublime Text to finish installation’
4. 重启Sublime Text 2后,就可以发现在 Preferences菜单下,多出一个菜单项 Package Control 。
5.现在安装GoSublime插件了,按住Ctrl Shilft p会弹出一个对话框输入install回车弹出一个安装包的对话框
同上输入GoSublime选择GoSublime回车
本机已经安装所以没有出现选项 , 输入Go build选中回车(这个属于可?。?
到此GoSublime安装成功
6.下面安装gocode,
首安装 Git-1.7.11-preview20120710 。
打开控制台,输入以下内容:
go get github.com/nsf/gocode
go install github.com/nsf/gocode
go get github.com/DisposaBoy/MarGo
go install github.com/DisposaBoy/MarGo
也可以去github下载(要安装google的git版本管理工具)
安装完成后,我们可以在 go/bin 目录下,发现多出了个 gocode 文件 。(一定要放在bin目录下)
7. 修改GoSublime配置:在 Preferences菜单下,找到Package Settings,然后找到 GoSublime , 再往下找到 Settings – Default 。再打开的文件中 , 添加如下配置,并保存:
"env": {"path":"c:/go/bin;" },
好了,到目前为止 , 开发环境搭建完成 。
下面可以自由编程了 。呵呵 。
按下快捷键 Ctrlb 界面下方会出现如下界面:
好了,到现在 , 开发环境就搭建完毕了 。
如下是内容我这边没有使用照样可以使用:
sublime Text 2 编译配置设置方法
tools-build system-new build system 新建一个配置文件 设置为
{
“cmd”: ["go", "run", "$file_name"],
“file_regex”: “^[ ]*File \”(…*?)\”, line ([0-9]*)”,
“working_dir”: “$file_path”,
“selector”: “source.go”
}
然后就可以用ctrl b 编译了
保存
GO语言(十一):开始使用多模块工作区本教程介绍 Go 中多模块工作区的基础知识 。使用多模块工作区,您可以告诉 Go 命令您正在同时在多个模块中编写代码,并轻松地在这些模块中构建和运行代码 。
在本教程中 , 您将在共享的多模块工作区中创建两个模块,对这些模块进行更改,并在构建中查看这些更改的结果 。
本教程需要 go1.18 或更高版本 。使用go.dev/dl中的链接确保您已在 Go 1.18 或更高版本中安装了 Go。
首先,为您要编写的代码创建一个模块 。
1、打开命令提示符并切换到您的主目录 。
在 Linux 或 Mac 上:
在 Windows 上:
2、在命令提示符下,为您的代码创建一个名为工作区的目录 。
3、初始化模块
我们的示例将创建一个hello依赖于 golang.org/x/example 模块的新模块 。
创建你好模块:
使用 . 添加对 golang.org/x/example 模块的依赖项go get 。
在 hello 目录下创建 hello.go,内容如下:
现在,运行 hello 程序:
在这一步中,我们将创建一个go.work文件来指定模块的工作区 。
在workspace目录中,运行:
该go work init命令告诉为包含目录中模块的工作空间go创建一个文件。go.work./hello
该go命令生成一个go.work如下所示的文件:
该go.work文件的语法与go.mod相同 。
该go指令告诉 Go 应该使用哪个版本的 Go 来解释文件 。它类似于文件中的go指令go.mod。
该use指令告诉 Go在进行构建时hello目录中的模块应该是主模块 。
所以在模块的任何子目录中workspace都会被激活 。
2、运行工作区目录下的程序
在workspace目录中,运行:
Go 命令包括工作区中的所有模块作为主模块 。这允许我们在模块中引用一个包,即使在模块之外 。在模块或工作区之外运行go run命令会导致错误,因为该go命令不知道要使用哪些模块 。
接下来 , 我们将golang.org/x/example模块的本地副本添加到工作区 。然后,我们将向stringutil包中添加一个新函数,我们可以使用它来代替Reverse.
在这一步中,我们将下载包含该模块的 Git 存储库的副本golang.org/x/example,将其添加到工作区,然后向其中添加一个我们将从 hello 程序中使用的新函数 。
1、克隆存储库
在工作区目录中,运行git命令来克隆存储库:
2、将模块添加到工作区
该go work use命令将一个新模块添加到 go.work 文件中 。它现在看起来像这样:
该模块现在包括example.com/hello模块和 `golang.org/x/example 模块 。
这将允许我们使用我们将在模块副本中编写的新代码 , 而不是使用命令stringutil下载的模块缓存中的模块版本 。
3、添加新功能 。
我们将向golang.org/x/example/stringutil包中添加一个新函数以将字符串大写 。
将新文件夹添加到workspace/example/stringutil包含以下内容的目录:
4、修改hello程序以使用该功能 。
修改workspace/hello/hello.go的内容以包含以下内容:
从工作区目录,运行
Go 命令在go.work文件指定的hello目录中查找命令行中指定的example.com/hello模块,同样使用go.work文件解析导入golang.org/x/example 。
go.work可以用来代替添加replace 指令以跨多个模块工作 。
由于这两个模块在同一个工作区中,因此很容易在一个模块中进行更改并在另一个模块中使用它 。
现在,要正确发布这些模块,我们需要发布golang.org/x/example 模块,例如在v0.1.0. 这通常通过在模块的版本控制存储库上标记提交来完成 。发布完成后,我们可以增加对 golang.org/x/example模块的要求hello/go.mod:
这样,该go命令可以正确解析工作区之外的模块 。
Go语言有什么好用的IDE吗【Go语言的新包plu go语言包管理】我喜欢jetbrains系列Go语言的新包plu的IDE go插件 。不过我要说Go语言的新包plu的是这个问题主要看Go语言的新包plu你的观点如何 。
说eclipse:
构建方式是使用go install 命令,每一次编译运行都是go install 。这样的好处就是如果Go语言的新包plu你有很多的包,下载下来并没有编译,这样每次编译速度是很快的 。而且(?。ゞo install 符合go官方的项目结构,官方说过了,一个go的项目应该是以个gopath,包含src,pkg,bin三个主要目录 。所以说go install个人认为才是主要的go编译方式 。
说eclipse的缺点:
其实eclipse插件的go编译方式,还有目录结构 , 项目结构,都是非常完美的?。。。≌娴暮芡昝溃】墒牵?他的代码提示,太差件!大括号都不能自动补全,gdb 32bit 64bit兼容问题,eclipseC没有html js插件,需要手动安装 , 几乎不能开箱即用 。不过如果你是开发算法,数据处理,还是推荐eclipse的,毕竟其他都无关紧要 。
说jetbrains:
说先说clione肯定不适合,新建项目没有向导,导致改成go项目各种不开心,比如图标对于我来说就无法接受go lib 不是小耗子~这是次要的,重要的是各个文件都是灰色的(没有在cmake中包含的结果) , 然后说剩下的,phpstorm这个不说了,估计很少有人插件按在这里 , webstorm,体验也不是很好,idea?体验很好,可是毕竟比较重,尤其是现在加入了自家的K啥玩意(无意冒犯 , 没记住单词)~可是话说回来,go跟C系列IDE配合才是最佳,跟java系列一点不搭关系,用idea似乎有点格格不入 , 但是!idea支持新建项目向导,lib的图标也很清晰 , 最后还是选择idea吧,期待clion的强大起来!
再说jetbrains系列缺点:
插件的构建方式是go buiild 这个让人很不爽 , 我们几乎不确定会构建到什么地方去,还要每次设置一下run配置 。这个可能无关紧要 , 毕竟不是什么大的毛病,可是go build不能缓存.a文件 , 直接构建的结果就是很多第三方包的情况下很慢!所以建议安装包的时候手动install 一下解决这个问题 。自带代码格式化,这个格式化跟go 格格不入,总的来说就是蛋疼,心碎,菊花痒 。
最后说liteIDE:
轻量级IDE , 我可以说是国人GO伟大作品典范,然而默认构建也是go build , 项目管理方式不符合go官方标准 。代码提示不能自动导入(eclipse也不能),不过如果你的项目是以包为单位的 , 那么另当别论 。一定很不错,毕竟是轻量级专门针对GO的IDE!
说这些,其实还有很大一部分取决于你的项目是用vendor机制管理,还是godeps机制管理依赖关系 。go不像java拥有强大的几乎天下一统的maven(无意冒犯,暂不评价其他构建套件) 。
go没有官方包仓库 。
go没有官方包管理工具 。
go没有官方自动化构建套件 。
上面三个没有是致命要害 。导致民间各种百花齐放 。
说说我的项目怎么管理
gpm 一个shell工具(windows下你可以用git的bash,或者cygwin~)
我是严格艳照官方推荐方式管理go项目,一个go项目一个gopath 。系统的gopath只是为了安装go命令,我没有配置gobin,意义不大 。
项目的依赖跟我的代码包都在src下(非vendor)
vendor用来存放包的特殊依赖 , 发布项目直接把依赖包发布上去(公网管理则只上传依赖关系文件 godeps文件)
资源文件等都放在src目录同级,编译文件放在bin , 引用直接../引用 。
4.1 Go语言中包(Packages)基础知识先看一下目录结构,注意这里的src名称是必须的,go在设置了GOPATH后 , 默认会添加src去寻找package,暂未查询是否有方法不按照src查询
根据上面的描述,Go语言中通过包中函数的名称来区分公共函数和私有函数 , 我们在main函数中是无法调用myPrivateFunc的
此时如果执行通过go run方式执行,会看到如下的提示信息 , 这与大部分语言对于包管理方式相关,所以我们通过两种不同的方法来让代码执行起来
返回如下,这里面对我们后续执行有影响的两个参数GO111MODULE和GOPATH
如果要使用gopath模式引用包,则需要关闭mod模式
设置GOPATH为当前路径 , 即main.go所在的路径
此时再查看go env时,GOPATH已经发生改变
我们再次尝试执行代码
可以看到public函数被调用
Go语言的新包plu的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于go语言包管理、Go语言的新包plu的信息别忘了在本站进行查找喔 。

    推荐阅读