Go Mod 代码结构化管理 GoMod1.GoMod 设置 Gomod 模块是相关 Go 包的集合。modules 源代码交换和版本控制的单元。go 命令直接支持使用 modules,包括记录和解析对其他模块的依赖性。modules 替换旧的基于 GOPATH 的方法来指定在给定构建中使用哪些源文件设置 GO111MODULEoffgo 命令行将不会支持 module 功能,寻找依赖包的方式将会沿用旧版本那种通过 vendor 目录或者 GOPATH 模式来查找。 DevOps
Go 表格处理 Go 表格处理 1.下载程序扩展包国内进行设置 GoProxy//地址:https://goproxy.cn/$goenv-wGO111MODULE=on$goenv-wGOPROXY=https://goproxy.cn,direct 下载和使用 xlsx 包//使用的包:github.com/tealeg/xlsx//get 下载:gogetgithub.com/tealeg/xlsx//mod 下载:gomo DevOps
文件操作 文件操作 1.创建与打开文件新建文件可以通过如下两个方法://根据提供的文件名创建新的文件,返回一个文件对象,默认权限是 0666 的文件,返回的文件对象是可读写的 funcCreate(namestring)(file*File,errError)//根据文件描述符创建相应的文件,返回一个文件对象 funcNewFile(fduintptr,namestring)*File 创建一个文件 funcmain(){ DevOps
JSON 操作 JSON 操作 1.JSON 介绍 JSON(JavaScriptObjectNotation)是一种比 XML 更轻量级的数据交换格式,在易于人们阅读和编写的同时,也易于程序解析和生成。尽管 JSON 是 JavaScript 的一个子集,但 JSON 采用完全独立于编程语言的文本格式,且表现为键/值对集合的文本描述形式(类似一些编程语言中的字典结构),这使它成为较为理想的、跨平台、跨语言的数据交换语言。{"Compan DevOps
CGO 混合编程 CGO 混合编程 1.CGO 环境准备 Go 有强烈的 C 背景,除了语法具有继承性外,其设计者以及其设计目标都与 C 语言有着千丝万缕的联系在 Go 与 C 语言互操作方面,Go 更是提供了强大的支持。尤其是在 Go 中使用 C,甚至可以直接在 Go 源文件中编写 C 代码.在如下一些场景中,可能会涉及到 Go 与 C 的互操作:1.提升局部代码性能时,用 C 替换一些 Go 代码。C 之于 Go,好比汇编之于 C2.嫌 Go 内存 GC 性能不足,自己手动管理应用内 DevOps
Go sync 包 sync 七种使用方式 sync 包有以下几个内容:sync.Pool 临时对象池 sync.Mutex 互斥锁 sync.RWMutex 读写互斥锁 sync.WaitGroup 组等待 sync.Cond 条件等待 sync.Once 单次执行 sync.Map 并发安全字典结构 1.临时对象池(sync.Pool)Pool 是用于存储那些被分配了但是没有被使用,而未来可能会使用的值,以减小垃圾回收的压力。Pool 是协程安全的,应 DevOps
Go 并发和 Channel Go 并发和 Channel1.Go 并发原理并行与并发并发 Concurrency 逻辑上具备同时处理多个任务的能力并行 Parallelism 物理上在同一时刻执行多个并发任务并发 GoroutineGo 的并发通过 Goroutine 实现,Goroutine 不等同于协程 Coroutine,而是两级线程模型,也称混合型线程模型主流线程模型内核级线程模型用户级线程模型 Coroutine 两级线程模型 Goroutine 线 DevOps