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

Go语言的版本管理工具Go module介绍

参考: http://c.biancheng.net/view/4774.html 关键词: 通过下面的关键词,进行理解,记住: 你要明白的是:如何开启这个工具,不同版本不一样 go.mod, go.sum文件 是做什么用的? 如何解决某些包,下载超时,失败的问题? 最初的时候Go语言所依赖的所有的第三方包都放在GOPATH 目录下面, 这就导致了同一个包只能保存一个版本的代码, 如果不同的项目依赖同一个第三方的包的不同版本,应该怎么解决呢? Go module 是从GO语言从1.11版本之后官方推出的版本管理工具, 并且从Go1.13版本开始, Go module 成为了Go语言默认的依赖管理工具。 1、如何开启GoModule工具? 在Go语言 1.12 版本之前,要启用 go modu...阅读全文

博文 2020-01-25 03:32:53 翻江倒海一条鱼

Go Module 未来的趋势

Go Modules介绍 Modules是Go 1.11中新增的实验性功能,基于vgo演变而来,是一个新型的包管理工具。 GO111MODULE 要使用go module,首先要设置GO111MODULE=on GO111MODULE=off,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者GOPATH模式来查找。 GO111MODULE=on,go命令行会使用modules,而一点也不会去GOPATH目录下查找。 GO111MODULE=auto,默认值,go命令行将会根据当前目录来决定是否启用module功能。这种情况下可以分为两种情形:当前目录在GOPATH/src之外且该目录包含go.mod文件,或者当前文件在包含go.mod文件的目录...阅读全文

博文 2019-05-09 03:35:01 My_Fuzz

Go语言开发工具 LiteIDE0.1.6 released

LiteIDE简介 go语言开发工具,更新至0.1.6,支持WIN32/Linux64bit。 实现特征: *) UTF8文件读写 *) GO语法高亮 *) 项目管理 *) 支持.pro项目编译 *) 支持无项目单独文件编译 *) gopromake自动编译工具 *) 可以从编译错误中定位到源码 项目主页: http://code.google.com/p/golangide/ 项目下载: http://code.google.com/p/golangide/downloads/list 操作系统支持: WIN32 LINU...阅读全文

博文 2015-06-17 23:00:48 visualfc

关于Go Modules,看这一篇文章就够了

Go 1.13版本之后新的包管理器Modules趋于成熟,目前越来越多的开源项目已经支持Go Modules,典型的如etcd。Go具有相当长的包管理工具变迁史,各种包管理工具层出不穷,究其原因,还是官方没有实现足够好用包管理工具。本文不对部分基础知识做详解,主要重点是Go Modules,本文来源:[https://roberto.selbach.ca/in...]() GOPATH的缺陷 几乎所有的包管理工具在Go 1.11版本之前都绕不开GOPATH这个环境变量。GOPATH主要用来放置项目依赖包的源代码,GOPATH不区分项目,代码中任何import的路径均从GOPATH为根目录开始;但现在GOPATH已经不够用了。 不区分依赖项版本 当有多个项目时,不同项目对于依赖库的版本需求不一...阅读全文

博文 2020-02-07 13:32:38 shaoyuan1943

GVM - Go 的多版本管理工具,使用介绍

文作者: dryyun原文链接: https://dryyun.com/2018/11/28... 基本介绍 项目地址 Go GitHub GVM GitHub 本机环境 设备 MacBook Pro 系统 macOS High Sierra 10.13.6 多版本管理使用场景 在 Mac 上使用 brew install go 真的很简单,一个命令就安装了最新版本的 Go,但是在实际使用过程中 线上版本跟你本地版本不一样,你需要切换 想尝试一下最新版本的 Go,但是实际开发还是不变 其他语言都有 xxvm 工具,Go 也要来一个 以上,其实使用 docker 就能解决了,相比而言,我觉得直接切换版本是更轻量级的做法,除非你有同时开发几个项目,都使用不同版本的 Go 的经验。 brew 有一...阅读全文

采用Glide对Golang进行包管理

概述 Golang的包管理工具有很多,本篇幅主要介绍Glide进行包管理。 安装及命令介绍 ➜ tonny@tonny-pc ~ go get github.com/Masterminds/glide 命令介绍glide create|init 初始化项目并创建glide.yaml文件.glide get 获取单个包 --all-dependencies 会下载所有关联的依赖包 -s 删除所有版本控制,如.git -v 删除嵌套的vendorglide install 安装包glide update|up 更新包 案例测试 准备 本次测试的包是 github.com/mattn/go-adodb ,这个包其中有一个依赖包是 github.com/go-ole/go-ole。 下载单个包 co...阅读全文

博文 2017-02-10 15:53:08 技术学习

深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!

今年微软Build 2016大会最让开发人员兴奋的消息之一,就是在Windows上可以原生运行Linux bash,对开发人员来说,这是一个喜闻乐见的消息。 1 安装 你必须安装开发者预览版本,才能使用windows的linux subsystem功能。 首先打开你的Windows 10的设置,在"更新和安全"选项中(我的机器是英文操作系统,但中文操作系统类似),选择"开发者",然后选择"开发者模式": 在Windows 更新和安全选项中,选择"Windows 更新",在"更新设置"中选择高级选项,你必须打开"内部预览版本"选项,并且将内部预览的级别设置为最快: 在"设置"->"系统"选项中,查看当前系统信息,你的OS版本必须是14316,如果不是这个版本,请运行在线升级,升级到这个版本: ...阅读全文

博文 2017-02-09 08:31:46 callmelanmao

有,总比没有要好:Go依赖管理工具dep

介绍 早期的Golang被很多开发者所诟病的一个问题就是依赖包的管理。Golang 1.5 release版本的发布之前,只能通过设置多个GOPATH的方式来解决这个问题,例如:我两个工程都依赖了Beego,但A工程依赖的是Beego1.1,B工程依赖的是Beego1.7,我必须设置两个GOPATH来区分,并且在切换工程的时候GOPATH也得切换,无比痛苦。终于终于在Golang 1.5 release 开始支持除了GOROOT和GOPATH之外的依赖查询,那就是vender,于是很多大佬开始造轮子,造得比较好的应该是dep和glide。 主角出场 今天的主角是dep,Golang的官方依赖工具,用来管理和下载工程依赖的工具,以下是官方的介绍 dep is a prototype depen...阅读全文

go管理多个项目如何书写gopath以及利用脚本控制项目管理路径

项目组织结构 yishiyaonie:go liuhanlin$ pwd /Users/liuhanlin/qiniuwork/go yishiyaonie:go liuhanlin$ ls aone public qbox 所以设置gopath为pwd的内容:/Users/liuhanlin/qiniuwork/go aone为新项目,public为公共的go库,qbox为第三方库。 提倡的写法 yishiyaonie:go liuhanlin$ $GOPATH -bash: /Users/liuhanlin/qiniuwork/go/public:/Users/liuhanlin/qiniuwork/go/qbox/base/qiniu:/Users/liuhanlin/qiniuwor...阅读全文

博文 2016-09-06 19:00:01 guoer9973

Golang包管理工具(一)之govendor的使用

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

「Go」Go语言之依赖管理

不积跬步,无以至千里;不积小流,无以成江海。 码字不易,点赞再看。 Go语言的依赖管理随着版本的迭代正逐渐完善起来。 依赖管理 常见的包管理有,dep、go vendor、glide、go modules 等。过时的东西就不在去研究,这里主要说一下 go modules,go modules是Go1.11版本之后官方推出的版本管理工具,并且从 Go1.13 版本开始,go modules将是Go语言默认的依赖管理工具。 GO111MODULE 要启用go modules 支持首先要设置环境变量 GO111MODULE(通过go env看),通过它可以 开启 或 关闭 模块支持,它有三个可选值:off、on、auto,默认值是auto。 GO111MODULE=off 禁用模块支持,编译时会从...阅读全文

博文 2020-04-15 11:33:11 不住隔壁的王老师

gf框架之分页模块(一) - 基本介绍

文章来源:http://gf.johng.cn/597431 分页管理由gpage包实现,gpage提供了强大的动态分页及静态分页功能,并且为开发者自定义分页样式提供了极高的灵活度。 使用方式: import "gitee.com/johng/gf/g/util/gpage" 方法列表:godoc.org/github.com/johng-cn/gf/g/util/gpage func New(TotalSize, perPage int, CurrentPage interface{}, url string, route ...string) *Page func (page *Page) EnableAjax(actionName string) func (page *Page) F...阅读全文

博文 2018-05-21 12:34:37 John

go包管理工具 glide 的问题 求助~~

我执行的指令 在jaeger-client-go 同级目录 ➜glide get github.com/uber/jaeger-client-go#2.7.0 glide.yaml package: github.com/uber/jaeger-client-go import: - package: github.com/uber/jaeger-client-go version: ^2.7.0 执行结果: [WARN] The name listed in the config file (github.com/uber/jaeger-client-go) does not match the current location (gith...阅读全文

Go依赖管理工具Go Module

Go Module 官方提供的不再依赖gopath的包管理工具 官方文档:https://github.com/golang/go/wiki/Modules 使用示例: 在(除gopath外)自己喜欢的任意目录下,新建项目 # 新建测试项目 ➜ Desktop mkdir gotest 在gotest目录下新建main.go文件,并导入iris包 package main import "github.com/kataras/iris" func main() { } 初始化一个新的 module ➜ go mod init gotest go: creating new go.mod: module gotest 执行go run main.go 命令自动下载所依赖的包,会自动生成go.m...阅读全文

博文 2019-11-17 02:32:41 更多精彩内容用go-module作为包管理器搭建go的web服务器HLHdetective告别GOPATH,快速使用 go mod(Golang包管理工具)koowavego1.12下Go mod使用实践会飞的鲶鱼go mod go包管理工具详细介绍

Golang学习--包管理工具glide

上一篇文章中我们已经成功的运行了go的代码,这是我们迈出的最基础的一步。 一个项目通常会依赖很多外部的库,当依赖的库比较多的时候,手工管理就会比较麻烦,这个时候就需要包管理工具出场了,帮你管理好所有依赖的库。 php项目中使用composer,javascript项目中使用npm,那么在go项目中,我们需要使用什么? 包依赖工具的选择 当前go的包管理工具有glide、godep、govendor和gvt等,相关对比的文章可以查看《go依赖包管理工具对比》。 功能对比可以参考如下内容(虽然跟上面文章比较的工具有些不同),内容来自《Go Package Manager Comparison》 Glide GB Godep Govendor Semantic Versions ✓ ✓ ✕ ✓ S...阅读全文

博文 2017-12-15 12:00:01 CraryPrimitiveMan

新贵 Rust(1)

首先要明确的一点就是 rust 是系统级别的底层开发语言。与 c++ 处于同一层面。rust 有可能在将来逐步取代 C++ 在嵌入式和游戏领域老大的地位。而且 rust 在区块链技术领域也有不熟的表现Rust 是一种注重高效、安全、并行的系统程序语言。Mozilla将 Firefox 的命运与Rust语言捆绑起来。Rust是Mozilla主导开发的注重安全、速度和并发的系统级编程语言,最新版本为1.15。随着Rust的成熟,Mozilla开始尝试用Rust开发Firefox的组件,其中包括核心引擎Servo/Project Quantum。 Rust VS golangCargo.toml 文件为包管理工具,类似于 package.json golang作为服务器语言仍然是相当不错的选择,不...阅读全文

golang goroutine_并发

并发:一箭多发 并行:同一时刻一起执行(齐头并进) 例子: package main import ( "fmt" "sync" ) // goroutine 多任务操作 var wg sync.WaitGroup // 声明一个全局的 wg 计数器对象[上下文管理器] (WaitGroup 结构体类型) func fun1(i int) { defer wg.Done() // 延迟调用,当次函数将要执行完毕时调用 fmt.Println(i) } func main() { for i := 0; i < 100; i++{ // 每次循环开启一个新的线程执行一个匿名函数 wg.Add(1) //go func(i int){ // 匿名函数 // defer wg.Done() // ...阅读全文

博文 2020-04-17 23:32:47 小麦客

十年磨一剑,阿里巴巴企业级数据管理平台:iDB

摘要: 阿里巴巴企业级数据库管理平台iDB面向云时代推出数据管理DMS企业版,是业界首创的数据库DevOps解决方案,形成了云时代企业数据管理的最佳实践。 十年间,阿里巴巴的研发人员也增长了十倍,为了解决DBA的服务效率问题,十年前我们开始iDB的研发,完成手工变更的在线化,成为了DBA能力产品化的载体。在最新的4.0版本中,iDB面向云时代推出数据管理DMS企业版,是业界首创的数据库DevOps解决方案,形成了云时代企业数据管理的最佳实践。 一、 为了效率与安全而生 在阿里巴巴,数据库团队是数据的守护者,保障着数据库安全、稳定、高效的运行。在早期,DBA除了负责数据库的基础运维,对于研发流程中的数据库变更也都由DBA负责,包括线上库表设计、结构变更发布、数据变更、SQL审...阅读全文

<转载>借助 Docker 企业版大幅节省 IT 预算

摘要: 我们最近启动了一项针对系统管理员和 IT 专业人员的系列学习内容,称之为“IT 人员的 Docker 入门”。我们此前已经介绍了一些基础知识,包括容器技术以及面向企业的 Docker 解决方案。 今天,我们讨论一个重要的问题:您投入时间和公司的资金来进一步探索 Docker 企业版(EE),是否值得? 对这个问题的明确回答是:肯定。已经采用 Docker 的 IT 团队发现,部署和维护应用程序的速度更快、更轻松,而且可以更好地利用基础设施,而无需触及底层代码。开发团队也正在体验生产力的大幅提升,新的开发人员能够更快上手,从开发到生产的周期大幅缩短,以及消除了应用程序对机器的依赖性("它在我的机器上可以正常工作")所带来的困扰。 640_090404_jpeg 您可...阅读全文

golang辅助包介绍

本文章持续更新 1. gopm 解决因为被墙,go get 无法下载问题 go get github.com/gpmgo/gopm 下载下来可通过gopm get [下载地址]方式下载 2. goimport 自动添加缺失的import 行, 自动删除多余的import行 gopm get -v golang.org/x/tools/cmd/goimports 3. dep 包依赖管理工具,如果自己的项目依赖的包很多,又不想加入到版本库中,可使用此工具进行批量下载 go get -v github.com/golang/dep 4. protobuf 解决json、xml文件信息过大问题,方便信息更快传输 如果文件想在项目中进行编辑则不合适,因为protobuf产生的是二进制 此工具使用稍微...阅读全文

博文 2018-12-05 16:34:56 __simple

govendor包管理工具的使用

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 /home...阅读全文

博文 2019-02-01 11:34:48 小蹦蹦28号

Go依赖管理工具dep

安装: Mac:brew install dep Linux curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh 验证 终端输入dep ➜ ~ dep Dep is a tool for managing dependencies for Go projects Usage: "dep [command]" Commands: init Set up a new Go project, or migrate an existing one status Report the status of the project's dependencies ensure Ensure a dependency...阅读全文

博文 2019-11-17 02:32:42 更多精彩内容有,总比没有要好:Go依赖管理工具depfreelanggolang 官方依赖管理工具 dep 使用和持续集成木猫尾巴时间NAV辞典旅游心得:我在旅行途中,你在哪?污大师2018.5.11囧man

go web编程——session管理机制设计与实现

生Go语言没有实现session管理机制,所以如果使用原生Go语言进行web编程,我们需要自己进行session管理机制的设计与实现,本文将就此进行详细介绍,并实现一个简单的session管理机制。session信息可以使用内存、文件或数据库等方式进行存储,考虑到对不同存储方式的兼容,我们设计的session管理机制应该能很方便的在不同存储方式之间进行切换。所以,session管理机制可以分为两部分内容:session管理器和session存储器,session管理器主要负责多种存储方式的共同操作部分,例如,cookie的读取与设置、session ID的生成,以及一些共同需要的参数设置等等。session管理器结构可设置如下://session管理器 type SessionManager...阅读全文

博文 2019-12-19 23:21:56 JetWu

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...阅读全文

Snake勒索软件正在威胁全球的企业网络

一种针对企业网络的新型勒索软件出现了,Snake。Snake是一种新的勒索软件,它正和最流行的勒索软件家族(如Ryuk,Maze,Sodinokibi,LockerGoga,BitPaymer,DoppelPaymer,MegaCortex和LockerGoga)一起威胁着全球。而让人担心的正是,这些犯罪组织为了让利润最大化,针对的不是单个用户而是企业。上周,MalwareHunterTeam的研究人员首先发现了Snake勒索软件,并在恶意软件分析师Vitali Kremez的支持下对其进行了分析。Snake勒索软件是用Golang编写的,将整个网络作为目标,并且存在大量混淆。其中,包含了一种常规混淆,这种混淆在以前并不常见,通常是与目标方法结合使用。与其他勒索软件一样,Snake在执行时会...阅读全文

博文 2020-01-13 21:32:45 UCloud云主机

智能电网中基于分布式管理请求相应程序的区块链的应用

Title:智能电网中基于分布式管理请求相应程序的区块链的应用 Abstract:在本文中,我们研究了使用分布式区块链机制,以适应能源生产商的能源需求为形式,向所有涉及弹性市场的利益相关者(主要是配电系统运营商,零售商,集成商等),提供透明、安全、可靠、和及时的能源灵活性。在我们的解决方案中, 一个防篡改的基于区块链的分布式分类账,存储从物联网设备收集的能源消耗信息,同时自我执行的智能合约以编程的方式在每个生产商的水平上定义预期的能源灵活性、相关的奖励或惩罚,以及在电网水平上平衡能源需求和能源生产的规则。基于验证的共识将被用于需求响应程序的验证,并且为灵活性供应商激活适当的财务结算。该方法通过在以太坊平台上实现的原型进行验证,该原型使用了文献数据集中多个建筑物的能耗和生产记录。结果表明,基于...阅读全文

博文 2019-02-16 14:28:34 1500250103

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...阅读全文

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

如何用ACM简化你的Spring Cloud微服务环境配置管理

摘要: 本文我们就如何使用阿里云ACM这样的配置管理产品在Spring Cloud中替代Spring Cloud Config帮助简化环境配置管理做一个简单的示例,帮助你理解基于ACM来简化微服务环境配置管理的方案,并会简单比较一下ACM与Spring Cloud Config方案的优劣。 **点此查看原文:http://click.aliyun.com/m/41595/** **配置的环境属性** 毫无疑问,在系统持续交付的过程中,系统最终运行环境的多样性及复杂性毫无疑问增加了我们在配置管理工作上的负担,有时候,甚至不夸张的说,配置就是因环境而生. 这在Eugen Paraschiv的博文 [Configuration Must Be Environment Spe...阅读全文

【闪电网络】安装 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 曹帅_前端工程师

图解kubernetes控制器StatefulSet核心实现原理

StatefulSet是k8s中有状态应用管理的标准实现,今天就一起来了解下其背后设计的场景与原理,从而了解其适用范围与场景 1. 基础概念 首先介绍有状态应用里面的需要考虑的一些基础的事情,然后在下一章我们再去看statefulSet的关键实现 1.1 有状态与无状态 在日常开发的应用中,通常可以分为两大类:有状态与无状态,比如web服务通常都是无状态的,web应用数据主要来自后端存储、缓存等中间件,而本身并不保存数; 而诸如redis、es等其数据也是应用自身的一部分,由此可以看出有状态应用本身会包含两部分:应用与数据 1.2 一致性与数据 一致性是分布式系统中很常见的问题,上面提到有状态应用包含数据部分,那数据和一致性是不是一个东西呢?答案是并不一定,在诸如zookeeper等应用中,...阅读全文

博文 2020-03-29 11:32:44 仔仔

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

如何借助配置中心ACM加速企业IT服务快速迭代

摘要: 在5月29日召开的第二届研发效能嘉年华中,云效邀请了阿里云产品团队的伏羿和来自阿里巴巴中间件技术部的彦林带来了“如何借助配置中心ACM加速企业IT服务快速迭代”的主题分享。 分别对配置中心ACM和ACM技术进行了讲解,并且对ACM的主要应用场景进行了介绍,并进行了Demo环节。 在5月29日召开的第二届研发效能嘉年华中,云效邀请了阿里云产品团队的伏羿和来自阿里巴巴中间件技术部的彦林带来了“如何借助配置中心ACM加速企业IT服务快速迭代”的主题分享。 分别对配置中心ACM和ACM技术进行了讲解,并且对ACM的主要应用场景进行了介绍,并进行了Demo环节。 精彩视频请点击 PPT下载请点击 以下为精彩内容整理: 配置中心基本形态介绍 有了配置中心以后,用户或者管理员不...阅读全文

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 訢亮