Go语言中文网 为您找到相关结果 304

1.安装Ontology

成功编译ontology需要以下准备: Golang版本在1.9及以上 安装第三方包管理工具glide 正确的Go语言开发环境 Golang所支持的操作系统 部署|获取ontology 从源码获取 克隆ontology仓库到 $GOPATH/src/github.com/ontio 目录 $ git clone https://github.com/ontio/ontology.git 或者 $ go get github.com/ontio/ontology 用第三方包管理工具glide拉取依赖库 $ cd $GOPATH/src/github.com/ontio/ontology $ glide install 用make编译源码 $ make 成功编译后会生成两个可以执行程序 onto...阅读全文

博文 2018-06-22 11:34:40 stevenlife

Golang包管理工具之govendor的使用

本文个人博客地址为:http://www.huweihuang.com/article/golang/govendor-usage/ 本文个人博客地址为:https://huweihuang.net/article/golang/govendor-usage/ 更多golang包管理工具参考 golang包管理工具之glide的使用1. govendor简介golang工程的依赖包经常使用go get命令来获取,例如:go get github.com/kardianos/govendor ,会将依赖包下载到GOPATH的路径下。常用的依赖包管理工具有godep,govendor等,在Golang1.5之后,Go提供了 GO15VENDOREXPERIMENT 环境变量(Go 1.6版本默认...阅读全文

Go依赖包管理工具,3分钟掌握govendor

网上写govendor的博文不少,但从安装到介绍,总看上去有些沉重,下面奉上一篇简单的教程,3分钟入门。 第1部分 简明教程 2步走,3分钟轻松搞定Go项目的依赖。 第1步 安装 go get -u github.com/kardianos/govendor 第2步 为项目增加依赖 进入到项目目录 使用govendor init命令初始化项目的依赖 运行govendor fetch命令增加依赖 打开./vendor/vendor.json查看依赖的包 步骤: cd path/to/project govendor init govendor fetch project_url_with_out_http cat vendor/vendor.json 举个例子:项目awesome依赖githu...阅读全文

博文 2018-11-17 01:34:39 大彬

进程管理工具 Supervisor

要想在终端后台常驻进程,首先想到的是在命令后加 & 符号,来达到隐藏程序在后台的目的,尽管看起来进程已经在后台运行了,实际上终端会话关闭时进程还是会被 kill 掉,这种问题一般是采用搭配 nohup 命令来解决的,nohup 作用是忽略 SIGHUP 信号,而会话关闭时正好发送了该信号给会话内所有运行程序,简而言之,nohup 命令搭配 & 不仅可以在后台运行,还不受会话关闭的影响。 $ nohup /bin/cat & 那么问题来了,虽然做到了后台运行,也避免了挂断操作带来的影响,但是它避免不了常驻进程自己出现问题,一旦它因自身异常终止了进程,这对黄金搭档就无力回天了。那怎么才能把挂了的常驻进程拉起来呢?这就是我们要讲的主题 Supervisor。 Supervisor 介绍 Super...阅读全文

Go程序编译简介

Go语言安装包自带的编译器是gc。针对不同的硬件平台,Go分别提供了一组编译工具包:比如,6a,6c,6g和6l就是针对X86-64平台(5*是ARM,8*是X86)。此外gcc还有一个支持Go语言的前端:gccgo。因此如果gc不支持你当前的平台,可以尝试用gcc。 go build命令默认会使用gc编译器。假设当前目录为goEx,在这个目录下创建hello.go: package main import "fmt" func main() { fmt.Println("Hello, world!") } 在当前目录下执行go build命令: [root@Fedora goEx]# ls hello.go [root@Fedora goEx]# go build [root@Fedora...阅读全文

Golang包管理工具govendor的使用

1. govendor简介 golang工程的依赖包经常使用go get命令来获取,例如:go get github.com/kardianos/govendor ,会将依赖包下载到GOPATH的路径下。 常用的依赖包管理工具有godep,govendor等,在Golang1.5之后,Go提供了 GO15VENDOREXPERIMENT 环境变量(Go 1.6版本默认开启该环境变量),用于将go build时的应用路径搜索调整成为 当前项目目录/vendor 目录方式。通过这种形式,我们可以实现类似于 godep 方式的项目依赖管理。 2. 安装与使用 2.1. 安装 go get -u -v github.com/kardianos/govendor 2.2 使用 #进入到项目目录 cd ...阅读全文

go 代码依赖管理工具mod使用

什么是go mod Go.mod是Golang1.11版本新引入的官方包管理工具用于解决之前没有地方记录依赖包具体版本的问题,方便依赖包的管理。类似于php的composer,java的maven; Go.mod其实就是一个Modules,关于Modules的官方定义为: Modules是相关Go包的集合,是源代码交换和版本控制的单元。go命令直接支持使用Modules,包括记录和解析对其他模块的依赖性。Modules替换旧的基于GOPATH的方法,来指定使用哪些源文件。 Modules和传统的GOPATH不同,不需要包含例如src,bin这样的子目录,一个源代码目录甚至是空目录都可以作为Modules,只要其中包含有go.mod文件。 如何使用 开启go mod export GO111M...阅读全文

SSMP 服务器加载测试工具 ssmperf

ssmperf 是 SSMP 协议的服务器基础加载测试工具。 使用

./ssmperf <address> [flags]
  -cacert=""        path to CA cert
  -cert=""          path to client cert
  -conn=100         number of client connections
  -count=10000      number of messages sent per connection
  -cpuprofile=""    write cpu profile to file
  -insecure=false   d...阅读全文

go to definition 总是提示 rebuild fix 解决办法

刚拷贝来工程的时候,go to definition 总是报错误;然而编译也通过了;查了很多资料,自己解决了,解决方法如下:(1)把 options for target 配置下的 output里的 select folder for objects 选择目录下的文件全部删掉(2)把listing菜单栏的里的select folder for listing...和select folder for objects目录选择一样的目录然后在rebuild就可以成功了,如果不成功的小伙伴可以先确认你的文件路径有没有对,还不行可以在其他的地方重新复制一份执行在操作...阅读全文

博文 2019-04-28 14:35:10 我叫妄想

Go的包管理工具(一)

在前面转载了系列文章:Golang 需要避免踩的 50 个坑,总得来说阅读量都挺大。今天这篇文章,咱们一起聊聊Go的依赖包管理工具。 背景 每一门语言都有其依赖的生态,当我们使用Java语言的时候,使用Maven或者Gradle管理包依赖。早期的Go被很多开发者所诟病的一个问题就是依赖包的管理。Golang 1.5 release版本的发布之前,只能通过设置多个GOPATH的方式来解决这个问题,例如:我两个工程都依赖了Beego,但A工程依赖的是Beego 1.1,B工程依赖的是Beego 1.7,我必须设置两个GOPATH来区分,并且在切换工程的时候GOPATH也得切换,无比痛苦。在Golang 1.5 release 开始支持除了GOROOT和GOPATH之外的依赖管理:vender,官...阅读全文

Golang包管理工具之govendor的使用

1. 安装 go get -u -v github.com/kardianos/govendor 使用 #进入到项目目录 cd /home/gopath/src/mytool #初始化vendor目录 govendor init #查看vendor目录 [root@CC54425A mytool]# ls commands main.go vendor mytool_test.sh #将GOPATH中本工程使用到的依赖包自动移动到vendor目录中 #说明:如果本地GOPATH没有依赖包,先go get相应的依赖包 govendor add +external 或使用缩写: govendor add +e #Go 1.6以上版本默认开启 GO15VENDOREXPERIMENT 环境变量,可...阅读全文

博文 2018-11-29 13:34:44 莫夏_b560

【闪电网络】安装 LND

步骤(使用环境是macOS,但是其他环境也差不多): 安装 go 语言 brew install go@1.11 # brew是 macOS 下的软件管理工具 设置shell 环境变量,我用的是 fish,在~/.config/fish/config.fish末尾添加: export GOPATH="$HOME/go" set PATH $PATH $GOPATH/bin bash/zsh的配置文件则分别位于 ~/.bashrc, ~/.zshrc,语法和fish有不同,请自行设置。 设置终端的代理 使用 go 安装工具时会向golang.org域名进行HTTPS请求,golang.org域名会转发到google.com的子域名golang-consa.l.google.com,无法访问。需...阅读全文

Golang的学习心得1

对于一个的使用多个php 传统MVC框架的人来说 Beego 使用起来很简单。golang 的多赋值特性,有需要注意的地方:package main import "fmt" func main(){ x := []int{1,2,3} i := 0 i,x[i] =2,i fmt.Println(i,x)//输出的是 2 【0 2 3】 } go 有项目的管理工具,类似于PHP的Composer。go 原始的import 包会去 %GOPATH% 写的src 找,就很容易的把工程的代码包混淆,不容易管理,同时如果要上传整个项目的代码,还要额外去上传src下被引用的包,这就很麻烦了。当然,dep解决的不止这个问题,Golang 也不止dep这个第三方项目管理工具,但是dep听说比较官方。De...阅读全文

go 语言进阶学习笔记(二)

go语言Mac安装Go有多种安装方式: Go源码安装:这是一种标准的软件安装方式。对于经常使用Unix类系统的用户,尤其对于开发者来说,从源码安装可以自己定制。 Go标准包安装:Go提供了方便的安装包,支持Windows、Linux、Mac等系统。这种方式适合快速安装,可根据自己的系统位数下载好相应的安装包,一路next就可以轻松安装了。推荐这种方式 第三方工具安装:目前有很多方便的第三方软件包工具,例如Ubuntu的apt-get和wget、Mac的homebrew等。这种安装方式适合那些熟悉相应系统的用户。 我们这里只介绍 homebrew 的安装方式,我感觉这种最为简单。Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一...阅读全文

博文 2018-11-13 13:34:39 曹帅_前端工程师

Go 包依赖管理工具 —— govendor

govendor 是一个基于 vendor 机制实现的 Go 包依赖管理命令行工具。与原生 vendor 无侵入性融合,也支持从其他依赖管理工具迁移,可以很方便的实现同一个包在不同项目中不同版本、以及无相互侵入的开发和管理。 vendor 特性 最开始的时候,Go 并没有提供较为妥当的包管理工具。从 1.5 版本开始提供了 vendor 特性,但需要手动设置环境变量 GO15VENDOREXPERIMENT=1。 在执行 go build 或 go run 命令时,会按照以下顺序去查找包: 当前包下的 vendor 目录 向上级目录查找,直到找到 src 下的 vendor 目录 在 GOROOT 目录下查找 在 GOPATH 下面查找依赖包 在发布 1.6 版本时,该环境变量的值已经默认设...阅读全文

前端工程师吐后端工程师(第五讲)——包管理工具NPM和Go get

在我们做前端时候,很少会有人做需求的时候上去就什么脚手架都不用直接裸写,基本都会找个所谓的框架,比如三大框架:Angular、Vue、React。所以在做Go的时候我们也不会裸写,需要选个Go的框架。 对比了一下,现在盛行的Go框架,选择了Gin。Gin是一个golang的微框架,API比较友好,源码注释文档非常优秀,具有快速灵活,容错方便等特点。其实对于go而言,web框架的依赖要远比Python,Java、PHP要小。自身的net/http足够简单,性能也非常不错。支持命名路径参数和通配符、支持路由分组、支持数据渲染器。 但是在使用这里之前我需要先把Gin框架下载下来,这就涉及到一门语言的另一个重要功能——包管理工具。我们可以把他理解为前端Nodejs的npm,与Nodejs不同的是,N...阅读全文

Go起步

准备 下载Go安装 安装依赖管理 brew install dep 安装dep同时也会安装依赖Go 配置环境变量 vim ~/.zshrc # go export GOPATH=$HOME/Workspace/go export GOBIN=$HOME/Workspace/go/bin export PATH=$PATH:$GOBIN . ~/.zshrc 示例 mkdir -p ~/Workspace/go/src/gin-basic && cd ~/Workspace/go/src/gin-basic dep init curl https://raw.githubusercontent.com/gin-gonic/gin/master/examples/basic/main.go > ...阅读全文

博文 2018-12-15 00:34:43 诺之林

go modules 的一些细节

前言 在一些Java的项目中,有 Maven等这些版本管理工具,可以很好的管理各种版本依赖关系,但是在 Golang 的项目中,之前官方并没有提供版本管理工具,以前都是用 go get 进行安装, 随着项目的变大, 就处理这种依赖关系就变得很麻烦, 原文。 如果你对Go感兴趣, 可以关注我的公众号: GoGuider vendor 机制 为了解决版本依赖问题, 官方出了一个 vendor 机制,将项目依赖的包都放在该目录中,但这也并没有很好地管理依赖的版本。 因为vendor 机制有几个大的问题: 1、需要将外部库放到项目中, 导致项目体积变得很大 2、项目版本很难指定和控制 go dep 和 go modules 之后官方出了一个准官方版本管理工具 go dep,这也算是 go modul...阅读全文

博文 2019-10-20 23:34:25 easyhappy

19年第36周:Go语言 包管理和Go工具

一、Go包管理简介 当你工作目录不在 $GOPATH/src 里面,并且工作目录或者工作目录的任意级父目录中含有 go.mod 文件,go 命令行工具会启用模块机制; Go mod能够,①将当前目录设置为模块。②在代码中导入不存在的包时,go命令行工具会帮你自动安装第三方包。 二、如何更好更方便的使用Go包 创建(增): go mod init 创建了一个新的模块,初始化 go.mod 文件并且生成相应的描述 go get xxx添加一个新的依赖项 go get xxx@v1.3.1显式地指定了 @v1.3.1,表示获取这个版本。没有则等价于@latest go build, go test, go run 和其它构建代码包的命令,会在需要的时候在 go.mod 文件中添加新的依赖项 删除(...阅读全文

博文 2019-10-07 19:32:43 aside section ._1OhGeD

Golang包管理工具Glide,你值得拥有

预览目录 glide.yml文件 版本和范围 基本 连字符- 通配符x,X,* 波浪号~(Patch) 插入符^(Major) “依赖地狱”是每个程序员在成长之路上都会面临的情况,首先我们通过语义化版本来控制软件的版本,然后在我们的项目里通过指定软件版本来达到控制依赖的目的。 如:你的项目A依赖多个项目B1,B2,B3,而B1,B2,B3又依赖着其它项目C1,C2…。一个项目依赖这多个项目,当项目C1修复BUG版本发生变化,如果A依旧使用旧版本,势必引起未知的问题。所以,你需要意识到包依赖管理的重要性。 在Go语言中,我比较推荐大家使用Glide作为包管理器。它能够自动识别Godeps的包管理,十足的很方便。本节介绍glide.yml的语义说明以及版本指定的格式。 glide.yml文件 g...阅读全文

博文 2017-08-27 17:51:36 Deepzz's Blog

[系列] - 使用 go modules 包管理工具(一)

概述 我想实现一个开箱即用的 API 框架的轮子,这个轮子是基于 Gin 基础上开发的。 为什么是开箱即用,它会集成哪些功能? 以上功能点,都是常用的,后期可能还会增加。 废话不多说,咱们开始吧。 创建一个项目,咱们首先要考虑一个依赖包的管理工具。 常见的包管理有,dep、go vendor、glide、go modules 等。 最开始,使用过 dep,当时被朋友 diss 了,推荐我使用 go modules 。 现在来说一下 go modules ,这个是随着 Go 1.11 的发布和我们见面的,这是官方提倡的新的包管理。 说一个环境变量:GO111MODULE,默认值为 auto 。 当项目中有 go.mod 时,使用 go modules 管理,反之使用 旧的 GOPATH 和 v...阅读全文

博文 2019-08-27 11:34:29 訢亮

Gormat - 跨平台Gopher辅助工具

> 跨平台的界面化golang便捷转换器,支持数据库转Struct、Sql转Struct、Json转Struct等。![image](assets/show_win.png)## Features 功能展示- [x] 数据库转Struct - [x] 数据引擎支持 - [x] Mysql - [ ] PostgreSQL - [ ] Sqlite3 - [ ] Mssql - [x] 自动存文件 - [x] 标签支持 - [x] Gorm - [x] Xrom - [x] JSON - [x] 排除列表 - [x] 数据映射 - [x] 自定义转型- [x] Sql转Struct- [x] Json转Struct### Prerequisites 开发条件```golang >= 1.11`...阅读全文

博文 2020-03-08 12:32:45 Bingoladen

golang笔记之接口(二)

接口类型具体描述了一系列方法的集合,一个实现了这些方法的具体类型是这个接口类型的实例。 io.Writer类型是用得最广泛的接口之一,因为它提供了所有类型的写入bytes的抽象,包括文件类型,内存缓冲区,网络链接,HTTP客户端,压缩工具,哈希等等。io包中定义了很多其它有用的接口类型。Reader可以代表任意可以读取bytes的类型,Closer可以是任意可以关闭的值,例如一个文件或是网络链接。(到现在你可能注意到了很多Go语言中单方法接口的命名习惯) package io type Reader interface { Read(p []byte) (n int, err error) } type Closer interface { Close() error } 再往下看,我们发现...阅读全文

博文 2019-05-07 19:34:59 月下独酌100

DockOne技术分享(四):AppC和Docker的对比

【编者的话】 现在一说到“容器”,几乎所有人首先想到的就是Docker。Docker作为目前最主流的容器标准,掩盖了许多前辈和后续者的光辉。事实上,Docker既不是第一个容器类产品(OpenVZ、Lxc等都远远早于它),也不会是最后一个。今天我们来聊一个最近有点火的新容器标准:AppC。 AppC是 CoreOS 公司在2014年12月发起的社区项目,旨在设计一种新式的跨平台容器在镜像格式、运行方式和服务发现机制等方面的标准。 从官方的表态说,这个项目最初诞生的原因是,主流容器工具 Docker 正在从一个单纯的容器工具成为自成一体的生态圈。而 Docker 的中心式管理方式(由每个主机上的 Docker -d 后台进程统一控制)对于 Systemd 以及第三方的任务编排工具并不友好(具体...阅读全文

9 Go盒子:包及包管理

一、Go的包设计理念 1.代码盒子 在Go程序中,包是代码模块组织的单位,为项目代码组织结构,提高代码的可读性、重用性及可维护性。它就是一个代码盒子,把可共同维护的相关功能组织在一起,为外部提供功能实现。理解包可以更好的编写高可维护代码。 2.包结构 2.1 main包与main()函数 main()函数是程序的唯一入口,它放置于main包中。 main()函数无参数无返回值 //声明包名 package main //导入其它包 import "fmt" //程序的入口函数 func main(){ //使用fmt官方标准包,用于打印输出 fmt.Println("Hello World!") } 2.2 init()函数 init()函数基于包级别定义,主要用于: 初始化那些不能被初始化...阅读全文

博文 2019-07-05 21:32:40 GoFuncChan

【golang】快速构建项目,带你坐上小摩托

开局一波图: 所谓万事开头难,要启动一个项目,第一步就是设计好项目结构,大多通用项目结构都有相似型,本出楼主归纳好项目结构,直接带你坐上小摩的。 滴滴滴滴 项目结构 1、入口包 2、预处理包 3、服务包 4、bus 5、应用包 6、通用包 7、日志包 8、工具...阅读全文

博文 2020-04-18 17:32:55 dongzaidong

golang版本工具GVM 和包管理工具go mod原理讲解

一句话简介 GVM(Go Version Manager) 下载多版本golang到本地缓存,通过切换环境变量指向不同的Golang版本 Go mod 对 go modules 的依赖管理,使得不同项目中依赖不同版本的同一个库更简单。 进一步介绍 GVM配置环境变量的原理 gvm配置路径 $ cat /Users/name/.gvm/scripts/gvm export GVM_ROOT=/Users/name/.gvm . $GVM_ROOT/scripts/gvm-default gvm配置后的 golang 环境变量 $go env GO111MODULE="" GOARCH="amd64" GOBIN="" GOCACHE="/Users/name/Library/Caches/go...阅读全文

golang简单应用

学习的golang的练习,推荐学习golang。https://www.liwenzhou.com mian.go 文件 package main import ( "fmt" "os" ) func showAction() { fmt.Println("学生管理系统!") fmt.Println("1. 添加学生信息") fmt.Println("2. 编辑学生信息") fmt.Println("3. 显示学生信息") fmt.Println("4. 退出学生管理系统") } //getInput 获取输入信息 func getInput() *Student { var ( name string id int ages int ) fmt.Println("输入信息") fmt.Pr...阅读全文

Go的包管理工具(二):glide

在上一篇文章中介绍了 Go 的环境配置和包管理的几种方式。Go 的包管理是一直是为人诟病之处,从 Go 1.5 引入的 vendor 机制、准官方工具dep,到 Go 1.5 的 go modules,目前为止还没一个简便的解决方案。本文将会介绍 glide glide 是在 vendor 之后出来的。glide 的依赖包信息在 glide.yaml 和 glide.lock 中,前者记录了所有依赖的包,后者记录了依赖包的版本信息 工作原理 Glide 扫描应用程序或库的源代码以确定所需的依赖项。要确定版本和位置(例如forks的别名),Glide会使用规则读取 glide.yaml 文件。有了这些信息,Glide将检索所需的依赖项。 遇到依赖包时,会扫描其导入以确定依赖关系的依赖关系(传递...阅读全文

博文 2019-03-06 21:34:40 aoho

【每日笔记】【Go学习笔记】2019-01-02 Codis笔记

作者:施洪宝 一. go 基础 go通过锁或者原子操作解决协程之间的竞争问题, 本文主要介绍锁 go通过通道(有缓冲和无缓冲)解决协程之间的通信问题, 一个协程可能同时与多个其他协程通信, 此时可以通过select进行处理 1.1 锁 mutex mutex即是一般的互斥锁, 只有一个协程可以获取锁, 其他协程获取时会被阻塞 rwmutex rwmutex为读写锁, 某一时刻可能存在多个读锁或者一个写锁 lock可以获取写锁, 该调用会一直阻塞直到其他协程释放锁, 写锁的优先级高于读锁; unlock释放写锁 rlock获取读锁, 当只有读锁或者没有锁时可以成功获取锁, 否则被阻塞; runlock释放读锁 1.2 select select{ case communication clau...阅读全文

博文 2019-01-07 10:34:46 LNMPR源码研究

中文转换成html中的utf-8

在HTML中,中文的“好好学习”可以表示为 “好好学习”在项目中,需要对接短信告警,短信告警返回数据要求是utf8的后来继续沟通,才发现要的是html-utf8的;没有找到合适的golang工具包,涉及语言转码的包主要有mahonia,支持各种格式的数据转换,gbk,utf8,gb2312net/html,支持网页转码,改的是转换网页中的<,>,&,',',.根据网上经验,提供三个版本的转换:Javascript function ConvUtf8(obj) { returnobj.replace(/[^\u0000-\u00FF]/g,function($0) {returnescape($0).replace(/(%u)(\w{4})/gi, "&#x$2;") }); } JAVA p...阅读全文

博文 2020-02-09 15:32:41 一把人才

Go的包管理工具(三):Go Modules

在前面的文章,我们先是介绍了Go 的几种包管理方式,然后具体介绍了一种包管理的工具: glide。随着 Go 1.11 的发布,官方的包管理工具 Go Modules 变得流行起来。在发布不久的 Go 1.12 版本中,增强了对 Go Modules 的支持。本文将会介绍如何在项目中安装和使用 Go Modules 。 安装和激活 Modules 的支持 前置条件 如本文开头所说,从 Go 1.11 版本才支持 Go Modules。所以,默认 Go 的版本为 >= 1.11。 $ go version go version go1.12 darwin/amd64 笔者安装了最新的 1.12 版本。 激活使用 安装后,我们可以通过以下两种方式之一激活模块支持: 在$GOPATH/src 之外...阅读全文

Linux服务器安全策略实战免费送给运维工程师

课程介绍 安全是IT行业一个老生常谈的话题了,从近几年层出不穷的安全事件中折射出了很多安全问题,处理好信息安全问题已变得刻不容缓。 因此做为运维人员,就必须了解一些安全运维准则,同时,要保护自己所负责的业务。 本课程主要讲解Linux服务器的安全策略。 课程目标 • 掌握Linux服务器安全策略 适合人群 • 运维工程师 课时列表 • 课时1:Linux服务器后门入侵检测工具和使用方法 • 课时2:Linux服务器遭受网络攻击后的处理思路和措施 开始学习http://click.aliyun.com/m/27897...阅读全文

Go 包依赖管理工具 —— govendor

govendor 是一个基于 vendor 机制实现的 Go 包依赖管理命令行工具。与原生 vendor 无侵入性融合,也支持从其他依赖管理工具迁移,可以很方便的实现同一个包在不同项目中不同版本、以及无相互侵入的开发和管理。 vendor 特性 最开始的时候,Go 并没有提供较为妥当的包管理工具。从 1.5 版本开始提供了 vendor 特性,但需要手动设置环境变量 GO15VENDOREXPERIMENT=1。 在执行 go build 或 go run 命令时,会按照以下顺序去查找包: 当前包下的 vendor 目录 向上级目录查找,直到找到 src 下的 vendor 目录 在 GOROOT 目录下查找 在 GOPATH 下面查找依赖包 在发布 1.6 版本时,该环境变量的值已经默认设...阅读全文

博文 2019-03-25 18:34:39 Jioby

Go的包管理 - go modules

一、go modules使用 前言 Go的依赖包管理是被大家诟病最多的一个地方,先后出现了glide、godep、dep等包管理工具,但是Go的包管理一直没有一个统一的方法,不同的项目可能会使用不同的管理工具。go modules是go 1.11之后推出的一种新的包管理工具,解决了之前的包管理中存在的一些问题。 项目不必放在GOPATH/src下 可以自动下载依赖包 版本控制功能 go modules介绍 Go 1.11和1.12包含了对modules的初步支持。modules是Go的新的依赖管理系统,能够使依赖项的版本信息更加清晰并且更加容易管理。这篇文章介绍了使用modules的基本操作。 module是Go的包的集合,以文件树的形式存储在顶层目录的go.mod文件中。go.mod文件定...阅读全文

博文 2019-09-29 14:02:38 朝阳区群众

初学Python需要安装那些软件?

初学Python需要安装的软件 Python解释器 IDE pip代理 虚拟环境 Python解释器的安装 1.首先我们移步官网,下载最新版本的python-3.6 Python官网:https://www.python.org/ 在这里插入图片描述 选择要下载的文件: 在这里插入图片描述 可以根据你自己本身的Windows电脑位数选择下载。 下载好安装包之后,就和你平常安装QQ一样点击下一步就可以了! 在这里插入图片描述 也是有需要特别注意的!! 记得勾选 Add Python 3.6 to PATH。 1、 按 Win+R 键,输入 cmd 调出命令提示符,输入 python: 在这里插入图片描述 也可以在开始菜单中搜索 IDLE: 在这里插入图片描述 对于初学者而言用Windows系统...阅读全文

博文 2019-09-27 13:32:51 aside section ._1OhGeD

golang 包依赖管理 godep 使用

介绍:godep是解决包依赖的管理工具,目前最主流的一种,原理是扫描记录版本控制的信息,并在go命令前加壳来做到依赖管理。 1.安装:go get github.com/tools/godep 2.编译和运行项目用godep管理后,要编译和运行项目的时候再用 go run 和 go build 显然就不行了,因为go命令是直接到GOPATH目录下去找第三方库。而使用godep下载的依赖库放到Godeps/workspace目录下的; `godep go run main.gogodep go buildgodep go installgodep go test` godep中的go命令,就是将原先的go命令加了一层壳,执行godep go的时候,会将当前项目的workspace目录加入GOP...阅读全文

博文 2019-11-04 10:33:53 风云

Go教程:第一篇介绍Go

第一篇: 介绍 本文是我们《Golang系列教程》开篇文章,文章中讲介绍Go语言,并讨论Go和其他语言之间 的优劣性。 介绍 Go 也被称为Golang 是一个由Google开发的开源,编译型,静态类型的语言。关键的创始人有: Ro Pike,Ken Thompson 和Robert Griesemer。Go于2009年向公众开放。 Go 是一个通用的语言,它提供了 简单的语法,健壮的标准库。最重要是:Go能够创建高可用,可扩展的web应用。 当然了,Go也能用于开发命令行应用,桌面应用以及移动应用。 Go的优势 在众多编程语言如: Python,ruby,nodejs.... 云集的情况下,为什么要选择Go作为服务端的编程语言呢? 这里列出来一些,我在选择Go时,所带来的好处。 简单的语法...阅读全文

[系列] - 使用 go modules 包管理工具(一)

概述 我想实现一个开箱即用的 API 框架的轮子,这个轮子是基于 Gin 基础上开发的。 为什么是开箱即用,它会集成哪些功能? 以上功能点,都是常用的,后期可能还会增加。 废话不多说,咱们开始吧。 创建一个项目,咱们首先要考虑一个依赖包的管理工具。 常见的包管理有,dep、go vendor、glide、go modules 等。 最开始,使用过 dep,当时被朋友 diss 了,推荐我使用 go modules 。 现在来说一下 go modules ,这个是随着 Go 1.11 的发布和我们见面的,这是官方提倡的新的包管理。 说一个环境变量:GO111MODULE,默认值为 auto 。 当项目中有 go.mod 时,使用 go modules 管理,反之使用 旧的 GOPATH 和 v...阅读全文

博文 2019-08-26 19:32:46 新亮

go modules 的一些细节

前言 在一些Java的项目中,有 Maven等这些版本管理工具,可以很好的管理各种版本依赖关系,但是在 Golang 的项目中,之前官方并没有提供版本管理工具,以前都是用 go get 进行安装, 随着项目的变大, 就处理这种依赖关系就变得很麻烦, 原文 如果你对Go感兴趣, 可以关注我的公众号: GoGuider vendor 机制 为了解决版本依赖问题, 官方出了一个 vendor 机制,将项目依赖的包都放在该目录中,但这也并没有很好地管理依赖的版本。 因为vendor 机制有几个大的问题: 1、需要将外部库放到项目中, 导致项目体积变得很大 2、项目版本很难指定和控制 go dep 和 go modules 之后官方出了一个准官方版本管理工具 go dep,这也算是 go module...阅读全文

你的Helm安全吗?

一、背景Kubernetes是目前最为流行、成为事实标准的容器集群管理平台,为容器化应用提供了部署运行、资源调度、服务发现和动态伸缩等一系列完整功能。在Kubernetes当中,用户通过使用API对象,如Pod、Service、Deployment等,来描述应用的程序规则,而这些资源对象的定义一般需要写入一系列的YAML文件中,然后通过 Kubernetes 命令行工具Kubectl进行部署。由于通常应用程序都涉及到多个Kubernetes API对象,而要描述这些API对象就可能要同时维护多个YAML文件,从而在进行 Kubernetes 软件部署时,通常会面临下述几个问题:如何管理、编辑和更新这些这些分散的 Kubernetes 应用配置文件如何把一套相关的配置文件作为一个应用进行管理如...阅读全文

【Go】VScode Go tools install issue

vscode在安装go-tools相关工具包时,总是failed,原因是国内对proxy.golang.org的墙网络问题 首先打开terminal,go env,找到GOPROXY 然后输入 go env -w GOPROXY=https://goproxy.cn 此时再进VScode按go插件的提示安装全部工具,即可有代码提示等功能了 相关issue链接 https://github.com/golang/go/issues/31755 https://goproxy.cn...阅读全文

博文 2020-04-12 19:32:41 风愿1996

Mac 神兵利器(二) 极简软件清单

摘要: 作为一个非常爱好折腾的Mac重度用户,在尝试了不少于50次重装系统经历以及安装了几乎所有软件类别的N多软件后,决定分享一下自己的软件清单。 选择app的三个原则: 尽量使用系统原生软件,比如日历,提醒事项,备忘录,Pages,Keynote等 同类软件只保留一款 能不装的软件就不装 时间管理 关... 作为一个非常爱好折腾的Mac重度用户,在尝试了不少于50次重装系统经历以及安装了几乎所有软件类别的N多软件后,决定分享一下自己的软件清单。 **选择app的三个原则:** - 尽量使用系统原生软件,比如日历,提醒事项,备忘录,Pages,Keynote等 - 同类软件只保留一款 - 能不装的软件就不装 **时间管理** ![图片描述](http:...阅读全文

govendor包管理工具的使用

1.govendor简介golang工程的依赖包经常使用go get命令来获取,例如:go get github.com/kardianos/govendor ,会将依赖包下载到GOPATH的路径下。常用的依赖包管理工具有godep,govendor等,在Golang1.5之后,Go提供了GO15VENDOREXPERIMENT 环境变量(Go 1.6版本默认开启该环境变量),用于将go build时的应用路径搜索调整成为 当前项目目录/vendor 目录方式。通过这种形式,我们可以实现类似于 godep 方式的项目依赖管理。2.安装与使用2.1. 安装go get -u -v github.com/kardianos/govendor2.2. 使用进入到项目目录cd /home/gopat...阅读全文