9012年都过了,还不会用go modules配置本地模块同学真要死了!_go greet

这篇具有很好参考价值的文章主要介绍了9012年都过了,还不会用go modules配置本地模块同学真要死了!_go greet。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

(3)在工程根目录创建TestGreet.go文件,并输入如下代码:

package main
import “libs”
import “fmt”

func main() {
fmt.Printf(libs.Greet(“Bill”))
}

如果在这时执行TestGreet.go,肯定会抛出如下错误:

package libs is not in GOROOT (/usr/local/go/src/libs)

这是因为go编译器还无法找到libs下的Greet.go文件。如果这时GO111MODULE的值是on或auto,即使设置了GOPATH环境变量也不好使。这是因为如果使用go modules模式,go编译不会再考虑GOPATH环境变量中的模块路径,而且GOPATH模式还有一个限制,就是要求模块必须在搜索路径的src目录中,而本例未创建src目录,所以即使是GOPATH模式,也无法搜索到Greet.go文件。

下面来配置go modules模式

(4)在libs目录下创建一个go.mod文件,并输入下面的内容:

module libs

go 1.16

如果不想自己创建,使用下面的命令自动创建go.mod文件也可以。

go mod init libs

这里的libs是模块名,其实模块名叫什么都可以,甚至可以是域名或目录结构,如unitymarvel.com/libs也可以,就是个名字而已,后面会使用这个名字。

如果GO111MODULE变量的值是auto,并且发现模块下有go.mod文件,就会自动切换到go modules模式。

(5)在工程根目录创建一个go.mod文件,并输入下面的内容:

module testgreet go 1.16 replace libs => ./libs

这里的“libs”表示(4)中设置的模块名,而“./libs”表示Greet.go所在的路径。

(6)在终端切换到工程根目录,然后执行下面的命令:

go get libs

执行这行命令后,会在go.mod文件中添加一行代码,完整的go.mod文件的内容如下:

module testgreet go 1.16 replace libs => ./libs require libs v0.0.0-00010101000000-000000000000 // indirect

其中多加的就是要引用libs模块,后面的是版本号,以后再有新的本地库,直接用这个版本号即可。

最后在goland中运行TestGreet.go,就会成功调用Greet.go中的Greet函数,输出如下内容:

9012年都过了,还不会用go modules配置本地模块同学真要死了!_go greet,2024年程序员学习,golang,xcode,开发语言

目前工程中有2个go.mod文件,一个在libs目录,一个在根目录,如下图所示。

9012年都过了,还不会用go modules配置本地模块同学真要死了!_go greet,2024年程序员学习,golang,xcode,开发语言

3. 让goland支持go modules模式

打开工程根目录的go.mod文件,会看到libs都是红色,如下图所示。

9012年都过了,还不会用go modules配置本地模块同学真要死了!_go greet,2024年程序员学习,golang,xcode,开发语言

这时goland还没有支持go modules模式(其实不要紧,不影响运行程序),不过对某些强迫症患者,可以将goland调整到go modules模式。

打开goland的Preference窗口,找到Go Modules,如下图所示。将右侧的Enable Go modules integration复选框选中即可。

9012年都过了,还不会用go modules配置本地模块同学真要死了!_go greet,2024年程序员学习,golang,xcode,开发语言

这时libs就都变绿了,如下图所示。

9012年都过了,还不会用go modules配置本地模块同学真要死了!_go greet,2024年程序员学习,golang,xcode,开发语言

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数HarmonyOS鸿蒙开发工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年HarmonyOS鸿蒙开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
9012年都过了,还不会用go modules配置本地模块同学真要死了!_go greet,2024年程序员学习,golang,xcode,开发语言
9012年都过了,还不会用go modules配置本地模块同学真要死了!_go greet,2024年程序员学习,golang,xcode,开发语言
9012年都过了,还不会用go modules配置本地模块同学真要死了!_go greet,2024年程序员学习,golang,xcode,开发语言

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上HarmonyOS鸿蒙开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注鸿蒙获取)
9012年都过了,还不会用go modules配置本地模块同学真要死了!_go greet,2024年程序员学习,golang,xcode,开发语言

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!文章来源地址https://www.toymoban.com/news/detail-854388.html

中…(img-nUS1KWQ4-1712641421312)]

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

到了这里,关于9012年都过了,还不会用go modules配置本地模块同学真要死了!_go greet的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • UniApp写入读取android本地文件,不会被清除

           项目背景,我们是用uniapp编写的收银程序,然后打包到android工程,再打包成apk包安装到用户的收银机上,收银机是android系统。由于项目需求,每次升级我们收银系统版本后,之前连接的打印机和LED显示屏的缓存数据都会被重新清除,因为升级相当于重新安装apk。所以

    2024年02月13日
    浏览(24)
  • 【go modules】missing go.sum entry for module providing package

    问题描述: go get 下载第三方包采用module 管理包一般会放在pkg/mod 下面,那么如何自动管理包,以及导入包呢? 我们导入时候会发现报错如下: 这个错误提示说明在你的项目中缺少 github.com/gin-gonic/gin 模块的 go.sum 条目。 要解决这个问题,你可以尝试以下几个步骤: 删除 g

    2024年02月16日
    浏览(29)
  • 【go语言】2.4.3 Go Modules

    Go Modules 是 Go 语言的官方依赖管理工具,自 Go 1.11 版本开始引入。它解决了 Go 语言在依赖管理上的一些问题,如版本控制、依赖隔离等。 你可以使用  go mod init [module-path]  命令来初始化一个新的模块。这将创建一个  go.mod  文件。 例如,在一个空目录下运行  go mod init gi

    2024年02月15日
    浏览(27)
  • Go Module简明介绍

    Go Module 是 Go 1.11 版本引入的一种依赖管理方式,它可以使 Go 语言开发者更方便地管理代码包及其版本,并能够与现有的版本控制工具(如 Git、SVN 等)集成使用。 在传统 的 GOPATH 模式中,所有 Go 代码都必须位于一个全局的 GOPATH 路径之下,这使得在不同项目中使用不同版本

    2024年02月16日
    浏览(28)
  • 【Golang中的Go Module使用】

    Golang中的Go Module是一个用于包管理和版本控制的工具。在本文中,我们将深入探讨Go Module的相关知识,包括其定义、使用方法以及一些常见的应用场景。 Go Module是Golang中的包管理和版本控制工具,它的发展历程、用法、意义以及相关指令都对于Golang开发者来说非常重要。在本

    2024年02月16日
    浏览(36)
  • Go语言中的包管理工具之Go Modules的使用

    GoLang 中常用的包管理的方式 常用的有三种 Go Path Go Vendor Go Modules 关于 Go Modules 1 ) 概述 Go的包管理,经过社区和官方的共同努力下,最终在百家争鸣后 Go官方在 2018.8 推出了go 1.11版本中的Go Modules,并且很快成为 一统江湖的包管理方式 Go Modules已经成为目前最主流的包管理工具

    2024年02月03日
    浏览(30)
  • IDEA整合GO并传module工程

    1.去官网下载对应还的安装包 官网下载地址 我选择下载的window 版本: 直接按照对应的目录,然后点击下一步 1.配置go环境变量 在高级环境变量PAHT中添加安装包的**/bin 目录,参考图片 我的安装地址: C:Program Filesgogo1.20.4 具体地址根据自己指定的目录变更 安装完后,cmd 查

    2024年02月08日
    浏览(25)
  • 解决Go报错:parsing go.mod :module declares its path as: ××× but was required as: ×××

    在go项目中,导入一个包名不等于其包导入路径名的最后一段的包时候发生报错: 认为是import 的包名不对。 修改import 至与go.mod的声明一致: 结果还是报错: 所以认为包名跟其文件路径是直接相关的,导入的时候引入的包名其实是需要提供其包所在git上的路径的。 最后修改

    2024年02月12日
    浏览(29)
  • Vue项目清理本地缓存并删除node_modules

    1. 在linux系统下,清缓存,删除node_modules 2. 在windows系统下,清缓存,删除node_modules 法一:利用 powershell 执行(推荐,速度快,秒删) 法二:利用 npm 下载 rimraf 执行 如果执行到“删除node_modules文件夹”的步骤不好用了,请直接手动删除node_modules文件

    2024年02月08日
    浏览(33)
  • gitLab创建项目无分支,本地新建module提交gitLab教程

    两套方案: 第一套:git创建空项目,然后把里面的git文件拷贝到本地项目里面,本地项目可以实现版本控制. 第二,idea fetach下,把git的manage project里面的远程地址路径核对一下,以及右下角git项目里面有项目名称为止 第三,把本地项目add为git文件,然后提交且推送,如果成

    2024年01月16日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包