Golang:包管理

Go语言--包(Package) 1 命名空间和作用域 1.1 命名空间 命名空间(Namespace)在编程语言中常用来表示标识符(identifier)的可见范围。编程语言借助命名空间来解决标识符不能同名的问题,命名空间实际上相当于给标识符添加了标识前缀,使标识符变得全局唯一。另外,命名空间是程序组织更加模块化,降低了程序内部的耦合性。 一个标识符可以在多个命名空间中定义,它在不同命名空间中的含义是不互相干的。新的命名空间中可定义任意的标识符,它们不会与位于其他命名空间上的同名标识符发生冲突,当然自定义标识符尽量不要使用编程语言自 阅读详情

go中的包

golang中,除了项目的主目录和vendor目录之外,每个文件夹都可以是一个包。一般文件夹名即包名(确保文件夹中的package写的于文件夹名称一致,因为引入的时候是可以起别名的)。要使用包中的变量或方法使用:包名.{方法|变量}

项目文件中,引入自定义包文件时,路径必须要从项目名开始。

例子:

比如说我的项目叫demo。

我在项目中新建一个包demo\comm,包里有个文件tool.go,文件中有个Hello方法,

这样引用:

import "demo/comm"

这样使用:

comm.Hello()

import

在项目中使用import引入包时,根据包地址。先从./vendor下查找,找不到在向GOROOT 或者GOPATH下查找

go get

如何下载github上的包?

下载github的包,假如包地址为: https://gitgub{包地址}

下载命令为: go get gitgub{包地址}

goget中设置代理

go env -w {参数}={参数值}

查看golang环境变量

go env

在任意目录下建立go项目

golang自定义了一套规范,在go1.13之前我们的所有项目都需要在go的安装目录下的src文件夹当中,这样才能引入到go的包和库。go1.13之后,我不在goroot目录下开发,如何引入GOROOT下src的包,同时不想重新下载呢?

在要引入的包的目录下执行 go mod init {包文件名}。

会初始化一个项目,然后就可以在这个目录下引入golang的包,开始快乐的开发了

依赖引入

注:go mod init {包名}只是初始化,当有新的依赖需要加在时,可以使用go mod tidy来载入依赖

同时,这些载入的依赖不是重新下载的,而是引用了goroot下src目录下的依赖

自定义包的引入,案例

假定我们在demo1文件夹下新建了个项目。

在demo1/comm/tool.go编写如下一个方法

package comm// package名称只需要写当前文件夹名称即可
import "fmt"
func Hello(){
    fmt.Println("hello world!")
}

然后再demo1/main.go使用。

pakage main  //package在项目根目录使用main
import "demo1/comm"
func  main(){
    tool.Hello()
}
// 打印: hello world!
请添加图片描述请添加图片描述

end

请添加图片描述

Golang包管理:在Golang中,可以使用go mod命令来管理和下载依赖的包 在Golang中,包管理是一个非常重要的环节。通过包管理,我们可以轻松地管理和下载项目所依赖的外部包,使得项目开发更加高效和可靠。Golang提供了go mod命令来帮助我们进行包管理,并且从Go 1.11版本开始,go mod已经成为官方推荐的包管理方式。本文将介绍如何使用go mod进行Golang包管理,包括初始化模块、添加依赖、升级依赖等操作。同时,将通过代码实例和官方链接展示go mod的具体用法和注意事项。通过学习本文,您将掌握使用go mod。 阅读详情

相关推荐

Go语言实战:工具和包管理之Golang标准库

1.背景介绍 1. 背景介绍 Go语言,也被称为Golang,是一种静态类型、编译式、多平台的编程语言。它于2009年由Google的工程师Robert Griesemer、Rob Pike和Ken Thompson开发。Go语言的设计目标是简单、高效、可靠和易于扩展。它的核心特点是强大的并发支持、简洁的语法和高性能。 Golang标准库是Go语言的核心组成部分,提供了大量的功能和工具,包括...

AI天才研究院 1245

Go语言学习笔记—golang包管理

包的本质实际上就是创建不同的文件夹,来存放程序文件。

qq_39280718的博客 2397

Abaqus边界条件设置避坑指南:为什么你的实体单元转动自由度总是不生效?

本文深入解析了Abaqus中实体单元转动自由度设置失效的根本原因。从力学原理与有限元节点自由度的本质区别出发,阐明了实体单元仅具有平动自由度,直接约束其转动自由度是无效操作。文章提供了对称边界条件的正确设置方法,并给出了使用耦合约束等高级方案来模拟真实抗转动约束的实战指南,帮助用户避免常见建模陷阱。

weixin_29290379的博客 621

Golang 包、包管理工具 Go module

Golang 包、包管理工具 Go module

wgchen 1760

LabVIEW新手必看:5分钟搞定S7-1200 OPC通信(附完整配置截图)

本文详细介绍了LabVIEW与西门子S7-1200 PLC通过OPC通信实现工业监控系统的完整配置流程。从环境准备、PLC数据块配置到OPC Server高级设置,逐步指导新手快速建立稳定通信链路,并分享工业级应用的优化技巧和异常处理方案,帮助用户提升自动化系统集成效率。

rl6adventurer的博客 640

SMPTE ST 2110 概论(一)

SMPTE ST 2110 概论(一)前言ST 2110与ST 2022-6ST 2110-10:基本结构与时序ST 2110-20:未压缩的视频流后续 前言 这是一份我在实习期间制作的,关于SMPTE ST 2110的简单介绍。 这篇文章主要以梳理总结 SMPTE ST 2110 的概念为主,关于具体的内容,比如IP数据报的格式、RTP时间戳的具体代码内容等等,大家可以查阅 SMPTE ST 2...

Cidd0422的博客 2万+

golang包管理

golang包管理,require,replace

Sncot的博客 1326

运放+MOS恒流源电路仿真分析

利用运放设计一个恒流源

HW-BASE的博客 4084

Golang 基础 Go Modules包管理

Golang 基础 Go Modules包管理

26857259 3659

2026 AI Agent Harness Engineering 生态报告:开源工具链的现状与未来趋势

IEEE P2863-2025《通用人工智能自主代理技术架构与评估规范》于2025年11月正式发布,将AI Agent(通用人工智能自主代理)定义为:一种具备感知(Perception)、记忆(Memory)、推理(Reasoning)、规划(Planning)、行动(Action)五大核心能力闭环,能够在无显式指令覆盖全部环节的前提下,自主完成特定领域或开放领域复杂任务的智能实体。

AI 算法实战派 497

1.2 amdgpu_bo的设计分析 — gem层和ttm层

本文分析了AMD KFD的BO设计架构,重点介绍了DRM子系统中缓冲对象的多层继承关系。文章首先展示了核心继承层次图,包括DRM通用层(drm_gem_object)、TTM内存管理层(ttm_buffer_object)、AMD驱动层(amdgpu_bo)和KFD计算层(kgd_mem)。随后详细解析了drm_gem_object结构体的关键功能,包括用户空间接口管理、内存映射支持、引用计数机制以及DMA-BUF导入/导出功能。

图形/计算GPU的驱动与虚拟化技术分享园地 2545

Golang1.5到Golang1.12包管理:golang vendor 到 go mod

1. 前言 Golang 是一门到如今有十年的静态高级语言了,2009年的时候算是正式推出了,然后到最近的一两年,2017-2018年的时候,突然直线上升,爆火了,得益于容器化运维/直播/短视频/区块链... 我从2016年毕业的时候,第一份工作,就接触了 Golang 语言,那时公司用 Java 处理数据流,然后用 Golang 写高...

weixin_34221276的博客 795

PHP 网页游戏开发入门教程

我们还链接了一个名为 “game.js” 的 JavaScript 文件,稍后将在其中编写游戏逻辑。这只是一个简单的示例,但它演示了如何使用 PHP 和 JavaScript 开发一个基本的网页游戏。以下是一个示例游戏的源代码和解释。现在,您可以在浏览器中打开 “game.php” 文件,即可看到一个带有红色游戏角色的游戏板。在上述代码中,我们使用 JavaScript 创建了一个游戏角色元素,并将其添加到游戏板容器中。最后,我们需要将游戏元素的样式设置为绝对定位,以便能够正确地控制它们的位置。

KkowServer的博客 678

解决go包管理代理网址无法访问:proxy.golang.org

解决go包管理代理网址无法访问:proxy.golang.org

mindcarver 865

OceanBase数据迁移(OMS)深度解析:异构数据库迁移方案、核心原理与实战优化指南

OceanBase迁移服务(OMS)提供异构数据库间全量+增量数据迁移与实时同步能力,核心价值在于保障业务连续性、数据一致性和异构兼容性。其分层架构包含服务接入层、流程编排层和组件链路层,支持Oracle/MySQL/DB2等与OceanBase的数据交互。关键技术包括DBCat引擎处理结构转换、并行分片实现全量迁移、以及日志解析保障增量同步。OMS通过类型映射、批量提交和断点续传等优化手段,确保迁移过程高效可靠,典型应用于去O迁移、数据库升级等场景。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 849

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Golang包管理 - Go Modules:Go Modules是Golang自带的包版本管理工具,用于管理项目中的依赖包

在Golang开发中,包管理是一个非常重要的环节。随着Go 1.11版本的发布,Go引入了一种新的包管理工具——Go Modules。Go Modules旨在解决Golang项目依赖管理方面的问题,使得开发者更加便利地管理项目中的依赖包。本文将介绍Go Modules的基本概念、使用方法以及如何在实际项目中应用Go Modules进行包管理。通过学习和掌握Go Modules,能够更好地管理Golang项目中的依赖包,确保项目的稳定性和可维护性。

Quantity>Quality 453

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

100天精通Golang(基础入门篇)——第16天:深入解析Go语言包的使用和包管理

本文详细介绍了Go语言中包的使用和包管理的相关知识。包是组织和复用源码的基本单元,具有代码可见性。我们了解了main包、包的命名规则以及包的导入方式。同时,解释了包的初始化过程和使用外部包的方法。最后,我们介绍了GOPATH环境变量的作用和包的编译与安装。通过本文的学习,读者可以全面了解Go语言包的使用和管理,为后续的学习打下坚实的基础。在Go语言中,包的使用是非常重要的概念。它可以帮助我们组织和复用代码,提高开发效率。本文将深入介绍包的相关知识,并帮助读者理解包的作用和使用方法。

猫头虎技术团队:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作+:Libin9iOak ,万粉变现+:优快云WF,猫头虎承诺每年免费为100名C站创作者做账号流量诊断服务!全网搜:猫头虎技术团队,点击文章底部名片或直接私信我一切皆可谈,快找虎哥! 5万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Golang_11: Go语言 包管理工具、工作空间组织、Go环境变量、GOPROXY

Go 的项目工程,使用 包(package) 和 文件夹 来组织代码源文件,每个源文件中都包含一个包名,可以用多级文件夹存放不同功能的源码文件。Go 1.11 版本之前,一般使用 GOPATH 模式组织工作空间。Go 1.11 版本引入了 Go Modules 模式的项目模块管理方式,Go 1.14 版本开始已强烈推荐使用 Go Modules。GOPROXY 可以指定多个代理 URL(使用逗号 , 分隔),也可以包含一个表示直连(不走代理)的关键字 direct。

谢TS的博客 2027

Go:代码组织与包管理最佳实践,Golang程序员最大的悲哀是什么

Go语言,自从2009年推出以来,以其简洁的语法、强大的标准库以及出色的并发支持特性,在软件开发界迅速获得了广泛的应用。良好的代码组织可以大大提高项目的可维护性和可扩展性。本文旨在探讨Go语言在项目开发中的代码组织最佳实践,包括分包原则、命名约定以及包层次结构的建议。

989

golang go mod包管理:安装第三方包的三种方式(go get/go mod download/go mod vendor)

学亮编程手记 3359

Alibaba Cloud SDK for Go包管理详解:glide与go get两种方式对比

Alibaba Cloud SDK for Go是访问阿里云服务的重要工具,而高效的包管理是项目开发的基础。本文将深入对比`glide`与`go get`两种主流包管理方式,帮助开发者快速掌握Alibaba Cloud SDK for Go的依赖管理技巧。 ## 为什么包管理对Alibaba Cloud SDK for Go至关重要? 在使用Alibaba Cloud SDK for Go开发

gitblog_00769的博客 821

吃透 Golang 基础:包管理

基于「《Go 语言圣经》第九章——包管理」对 Golang 的包以及包管理的相关概念进行学习。

YGGP的博客 984

【GoLang #5】:错误处理机制 & 包管理

Go 语言采用了一种独特而高效的错误处理机制,由 Go 的设计哲学是"显式优于隐式",错误处理应该显式地处理,而不是通过异常机制隐式传播。这种设计哲学使代码更加健壮且易于理解。核心设计理念显式错误处理:错误作为普通值返回,而非通过异常机制无异常机制:没有结构错误即值:错误是普通的值,实现了error接口轻量级:不依赖调用栈展开,性能开销小错误接口Go 的核心错误机制基于内置的error任何实现了方法的类型都可以作为错误类型使用。基本说明。

island1314的博客 707

golang:包管理方式

在前面转载了系列文章:Golang 需要避免踩的 50 个坑,总的来说阅读量都挺大。今天这篇文章,咱们一起聊聊Go的依赖包管理工具 背景 每一门语言都有其依赖的生态,当我们使用Java语言的时候,使用Maven或者Gradle管理包依赖。早期的Go被很多开发者所诟病的一个问题就是依赖包的管理。Golang 1.5 release版本的发布之前,只能通过设置多个GoPATH的方式来解决这个问题,例如...

OceanStar的博客 2630

Go:包管理 & 包使用

对于大部分编程语言来说,代码包都是最有效的代码管理方式,Go语言也是使用包来管理代码的。如同其他语言一样,Go语言包的主要作用是把功能相似或相关的代码组织在同一个包中, 以方便查找和使用。本章会详细介绍Go语言工程结构和包的使用。熟练掌握包管理是Go语言编码的基础,由于这部分内容的版本变革比较大,所以了解包管理的发展史是很有必要的,同时也要清楚现在最新使用包的方式。GOPATH是Go语言中用来指定工作空间位置的环境变量。

unravel_tom的博客 2224
上一篇: 蓝桥web真题:第一届大学组8-10题
下一篇: Golang:堆排序
jayLog
博客等级 码龄7年 318粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jayLog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值