golang package的使用

golang package的使用


前言

golang 使用包 package 来管理定义模块,可以使用 import 关键字来导入使用。

如果导入的是 go 自带的包,则会去安装目录 G O R O O T / s r c ∗ ∗ 按 包 路 径 加 载 , 如 f m t 包 如 果 是 我 们 g o g e t 安 装 或 自 定 义 的 包 , 则 会 去 ∗ ∗ GOROOT/src** 按包路径加载,如 fmt 包 如果是我们 go get 安装或自定义的包,则会去 ** GOROOT/srcfmtgogetGOPATH/src 下加载


一、 . 包导入

. 导入包可以让包内的方法注册到当前包的上下文中,直接调用方法名即可,不需要再加包前缀。

import . "fsm.com/demotest/models"
二、_ 包引用操作,

_ 包引用操作,只会执行包下各模块中的 init 方法,并不会真正的导入包,所以不可以调用包内的其他方法。

import	_ "github.com/go-sql-driver/mysql"
三、 可以给包起个别名,

可以给包起个别名用于两个包的包名存在冲突,或者包名太长需要简写时

import	sql "github.com/go-sql-driver/mysql"
四、自定义包名的使用

如下图所示:

在这里插入图片描述
我们向引用models包下的User结构体时,golang是不支持相对路径引用的,所以我们要用go指令创建自定义模块,然后再引用自定义包,go 指令是:

go mod init fsm.com/demotest

fsm.com/demotest就是自定义的模块名


总结

··相关的包操作 go mod 命令··
download:下载模块到本地缓存;
edit:从工具或脚本编辑go.mod;
graph:打印模块需求表;
init:在当前目录初始化一个新的模块
tidy:添加丢失的模块并删除未使用的模块;
vendor:制作依赖项的副本;
verify:验证依赖项是否有预期内容;
why:解释模块或包为什么需要;
go mod download [-x] [-json] [modules]:下载命名的模块,可以是模块模式选择主模块的依赖关系,也可以是 path@version 形式的模块查询。没有参数时,下载适⽤于主模块的所有依赖项(相当于“go mod download all”)。
-json :将⼀系列 JSON 对象打印到标准输出,描述每个下载的模块,对应于这个 Go 结构:
type Module struct {
Path string //模块路径
Version string //模块版本
Error string //模块加载错误
Info string //.info缓存文件的绝对路径
GoMod string //.mod缓存文件的绝对路径
Zip string //.zip缓存文件的绝对路径
Dir string //缓存根目录的绝对路径
Sum string //路径、版本的校验和
GoModSum string //go.mod 的校验和
}
-x:打印下载执⾏的命令;
go mod edit [editing flags] [-fmt|-print|-json] [go.mod]:提供了⼀个⽤于编辑 go.mod 的命令⾏界⾯,主要供⼯具或脚本使⽤。它只读取 go.mod,不查找有关模块的信息。
编辑标志指定编辑操作的序列:
-module:更改模块的路径;
-require=path@version 和 -droprequire=path:添加或删除给定路径和版本的模块到需求项;
-exclude=path@version 和 -dropexclude=path@version:添加或删除给定路径和版本的模块到排除项;
-replace=old[@v]=new[@v]:替换给定路径和版本的模块;
-dropreplace=old[@v]:丢弃给定模块路径和版本对的替换;
-go=version:设置预期的 Go 语⾔版本;
-fmt :重新格式化 go.mod ⽂件⽽不进⾏其他更改;
-print 标志以其⽂本格式打印最终的 go.mod;
-json 标志以 JSON 格式打印最终的 go.mod ⽂件;
go mod graph [-go=version]:以文本形式打印模块需求表;

如果我的内容能帮上你是我的荣幸,如果能打赏一下那就是对我最大的鼓励

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

封神梦

各位道友,赏口饭吃吧

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

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

打赏作者

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

抵扣说明:

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

余额充值