当前位置:网站首页>Go-10-模块与包
Go-10-模块与包
2022-08-09 01:26:00 【hahyyy】
Package
一般来说,一个文件夹可以作为package,同一个package内部变量、类型、方法等定义可以相互看到
go语言也有public和private的概念,粒度是包
如果类型/接口/方法/函数/字段的首字母大写,则是public的,对其他package可见
如果首字母小写,则是private的,对其他package不可见
比如我们新建⼀个文件 calc.go , main.go 平级,分别定义 add 和 main 方法
// calc.go
package main
func add(num1 int, num2 int) int {
return num1 + num2
}
// main.go
package main
import "fmt"
func main() {
fmt.Println(add(3, 5)) // 8
}
运行go run main.go,会报错,说add未定义
因为运行go run main.go只会编译main.go一个文件
需要将命令修改为go run main.go calc.go
Modules
Go Modules是Go 1.11版本之后引入的,Go 1.11之前使用$GOPATH机制
Go Modules可以算作是较为完善的包管理工具
同时支持代理,国内也能享受高速的第三方包镜像服务
在一个空文件夹下,使用命令go mod init xxx(模块名),初始化一个Module
使用ls可看见,生成了一个go.mod文件,里面记录了当前模块的模块名以及所有依赖包的版本
边栏推荐
- 《Go语言学习:基本变量与类型》
- 【图像去噪】基于边缘增强扩散 (cEED) 和 Coherence Enhancing Diffusion (cCED) 滤波器实现图像去噪附matlab代码
- LeetCode精选200道--双指针篇
- DataNode重启
- [深入研究4G/5G/6G专题-55]: L3信令控制-4-软件功能与流程的切分-CU网元的信令
- leetcode-45-跳跃游戏 II
- js文件的处理
- [Signal denoising] Based on Sage-Husa adaptive Kalman filter to realize the suppression of ocean wave magnetic field noise and the generation of ocean wave magnetic field noise with matlab code
- 全文翻译:欧盟第29条数据保护工作组 数据保护官指南
- 日文翻译-在线免费日文翻译软件
猜你喜欢
随机推荐
『Another Redis DeskTop Manager』用了这款Redis可视化工具,分析效率提升12倍
轻量级网络ESPNet系列 空洞卷积简介
多语种翻译-免费多语种翻译软件
德语翻译器在线翻译中文
Sencha Touch页面跳转创建返回上一级按钮的设计思路
【图像去噪】基于边缘增强扩散 (cEED) 和 Coherence Enhancing Diffusion (cCED) 滤波器实现图像去噪附matlab代码
容器运维平台的故障处理-1
全文翻译:EDPB关于VVA(虚拟语音助理)中处理个人数据的指南02/2021
卷积神经网络EfficentNet v1学习记录--Model Scaling
【物理应用】基于El-centro地震波作用下隔震与非隔震支座下的顶层位移、速度、加速度的对比情况附matlab代码
网络安全基础-基本dos命令(一)
面试秘籍 | 软件测试必备的mysql数据库技术
qps tps rps 区别
makefile file compilation
在实际工作中如何开展性能测试?
微信企业号开发之接收响应消息
微信企业号开发之获取公共域名
4-8 Matplotlib库 雷达图
2022年中国全民健身发展白皮书
makefile文件编译