网站首页 » Golang

[Golang包] viper包

介绍viper 是一个配置解决方案,拥有丰富的特性支持 JSON/TOML/YAML/HCL/envfile/Java properties 等多种格式的配置文件;可以设置监听配置文件的修改,修改时自动加载新的配置;从环境变量、命令行选项和io.Reader中读取配置;从远程配置系统中读取和监听修改,如 etcd/Consul;代码逻辑中显示设置键[...]

网站首页 » Golang

[Golang基本知识] golang 中的 init() 函数

go init 函数详解init() 函数会在每个包完成初始化后自动执行,并且执行优先级比main 函数高, init函数通常被用来对变量进行初始化检查/修复程序的状态注册运行一次计算包的初始化为了使用导入的包,首先必须将其初始化。初始化总是以单线程执行,并且按照包的依赖关系顺序执行。这通过Golang的运行时系统控制,如下图所示:初始化导入的包([...]

网站首页 » Golang

[Golang基本知识] 2、Golang的包管理 go mod

强烈要求使用golang自带的包依赖管理工具 go mod,以下进入正题go mod 介绍go mod 即 go module 是 Golang 1.11 版本引入的官方包(package)依赖管理工具,用于解决之前没有地方记录依赖包具体版本的问题,方便依赖包的管理。module是相关go包的集合,是代码更替和版本控制的单元。模块主要标识为源文件夹[...]

网站首页 » Golang

[Golang基本知识] 1、Go安装

安装Go1.下载官网下载地址 http://docscn.studygolang.com/2.安装完成的配置Go安装完成后,可通过终端命令 go env查看配置信息,重点关注以下项:GOROOT: Go安装目录;GOPATH: Go工程目录(自己创建的项目,公司的项目都放在此文件夹下)GOBIN : 可执行文件目录GOPATH目录下需要包含三个目录[...]

网站首页 » Golang

Gin 从零开始搭建gin项目框架

一、创建项目新建文件夹 test进入文件夹,在终端执行go mod init go mod init 是使用go module 的管理包,前提是设置做了以下设置GO111MODULE = on GOPROXY=https://goproxy.cn,direct执行 go mod init 后, 将在 test 文件夹下生成 go.[...]

网站首页 » Golang

panic: assignment to entry in nil map

golang中map是引用类型,应用类型的变量未初始化时默认的zero value是nil。直接向nil map写入键值数据会导致运行时错误panic: assignment to entry in nil map在使用gin的时候,我们在输出结果的时候会用到c.JSON(200, gin.H{})gin.H{} 是map(字典), 那我们何不直接[...]

网站首页 » Golang

go mod 模式和 import

一、 go mod 是什么go mod 即 go module 是Golang 1.11 版本引入的官方包(package)依赖管理工具,用于解决之前没有地方记录依赖包具体版本的问题,方便依赖包的管理。module是相关go包的集合,是代码更替和版本控制的单元。模块主要标识为源文件夹下的go.mod文件,此文件目录也成为模块根,其取代了旧的基于sr[...]

网站首页 » Golang

go mod 模式 goland import引用包报错

下载Gin包失败后,根据文章解决后http://blog.ayla1688.cool/archives/388.html解决后,又带来了新的问题,使用官方给的示例,在goland中提示错误.import 不能定位到gin 包goland提示报错原因就是上篇文章中go env -w GO111MODULE=on go env -w GOPROXY=h[...]