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

Godep的基本使用

关于Godep 发现好多golang项目都使用到godep作为包管理的工具,像比较大型的项目,比如kubernetes这种,都是使用的是godep来进行依赖管理操作的了,看了一下有点像maven的感觉,这里记录一下基本的操作。 首先是安装 由于网络的问题,goget的时候有一个包会找不到,网上有好多替代的解决方案,比如说这个 基本的使用 go save 比如说建立了一个基本的项目,就拿beego的示例项目来说。这里又一点要注意,没有使用版本控制的时候,go save是不成功的,会报类似如下的错误: godep: error while inspecting "/Users/Hessen/goworkspace/src/testBee/bapi": directory "/Users/Hess...阅读全文

[golang] Glide 包管理

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

博文 2016-05-19 15:00:00 loveyx

RESTful API 设计最佳实践

本文由 伯乐在线 - bruce-accumulate 翻译。未经许可,禁止转载!英文出处:Vinay Sahni。欢迎加入翻译小组。 背景 目前互联网上充斥着大量的关于RESTful API(为方便,下文中“RESTful API ”简写为“API”)如何设计的文章,然而却没有一个”万能“的设计标准:如何鉴权?API 格式如何?你的API是否应该加入版本信息?当你开始写一个app的时候,特别是后端模型部分已经写完的时候,你不得不殚精竭虑的设计和实现自己app的public API部分。因为一旦发布,对外发布的API将会很难改变。 在给SupportedFu设计API的时候,我试图以实用的角度来解决上面提到的问题。我希望可以设计出容易使用,容易部署,并且足够灵活的API,本文因此而生。 AP...阅读全文

博文 2015-03-05 13:28:27 伯乐在线

报错:exec:"gcc" executable file not found in %PATH%

安装问题在import sqlite的时候,golang build 出现以下错误,exec: "gcc": executable file not found in %PATH%原因是sqlitle3是个cgo库,需要gcd编译c代码Windows下解决方法1. 下载mingw64,并安装下载地址:https://sourceforge.net/projects/mingw-w64/2. 设置环境变量将安装目录下的bin文件夹添加到Path环境变量中:C:\ProgramFiles(x86)\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin3. 测试是否安装成功打开cmd命令行,输入:gcc-v如果出现版本信息,则表示安装成功。...阅读全文

博文 2019-08-28 15:33:01 灰侠_bf44

Go += 包版本

本文译自 Go += Package Versioning, Go & Versioning 的第 1 部分, 版权@归原文所有. 我们需要将包版本控制添加到 Go. 更确切地说, 我们需要将软件包版本的概念添加到 Go 开发人员和我们的工具的工作词汇表中, 以便在彼此交谈时准确地确定应该构建, 运行或分析哪个程序. go 命令需要能够告诉开发人员具体哪些版本的软件包在特定构建中, 反之亦然. 版本控制可以让我们启用可重复构建, 所以如果我告诉你试用我的程序的最新版本, 我知道你将不仅获得我的代码的最新版本, 而且还包括我的代码所依赖包的精确的同一版本, 所以你和我将构建完全等价的二进制. 版本控制还可以让我们确保明天程序的构建方式与今天的完全相同. 即使有更新版本的依赖, go 命令也不应...阅读全文

博文 2018-02-22 22:49:23 lingchao

go vendor 介绍

go vendor 是go 1.5 官方引入管理包依赖的方式,1.6正式引入 其基本思路是,将引用的外部包的源代码放在当前工程的vendor目录下面,go 1.6以后编译go代码会优先从vendor目录先寻找依赖包; 1.解决的问题: 将源码拷贝到当前工程的vendor目录下,这样打包当前的工程代码到任意机器的$GOPATH/src下都可以通过编译,避免项目代码外部依赖过多,迁移后, 需要多次go get 外包依赖包;而且通过go get 重新拉去的外部依赖包的版本可能和工程开发时使用的不一致,导致编译错误问题。 2.未解决的问题: 无法精确的引用外部包进行版本控制,不能指定引用某个特定版本的外部包;只是在开发时,将其拷贝过来,但是一旦外部包升级,vendor下的代码不会跟着升级, 而且ve...阅读全文

博文 2016-09-09 13:00:05 hittata

Go 语言的 Modules 系统介绍

即将发布的 Go 语言 1.11 版本将会给我们带来对 *modules*(模块)的实验性支持,这是 Go 语言新的一套依赖管理系统。 (译注:很多编程语言中,把 modules 译作「模块」,但由于目前该机制在 Go 语言还没正式发布,因此尚未有非常普及的译法。而类似的 vendor 一词的翻译,大多中文文章都是采取保留英文原文的方式处理,因此本文对 modules 的翻译参考 vendor 的处理:保留英文原文) 前些日子,[我简单地写了一编关于它的文章](https://roberto.selbach.ca/playing-with-go-modules/),自从那篇文章写完后,Go 的 modules 机制又发生了一些小改动。因为现在快到正式版发布了,我想现在刚好是时候用”边做边学“...阅读全文

博文 2018-08-23 18:37:30 Alex-liutao

让vscode完美支持go vendor的代码跳转(使用vscode必看)

Vscode是世界上最好的Go IDE!! 所以使用vscode作为Go的IDE是一件非常爽的事情。 可是事情总有不完美。现在有很多项目都是用vendor来做第三方包的版本控制,可是godef竟然不支持vendor的代码跳转!!我们想跳转到vendor中的代码,目前是无法做到的。 现在特分享一个自修改的版本,完美支持vendor特性,只要go install后,就可以爽爽的用vscode了。 欢迎大家加入Golang隐修会,群号894864,在群文件中就可下载,而且群内大神很多哦...阅读全文

博文 2016-04-19 15:00:02 abv123456789

golang包管理工具glide简介

golang包管理工具glide简介 前言 golang是一个十分有趣,简洁而有力的开发语言,用来开发并发/并行程序是一件很愉快的事情。在这里我感受到了其中一些好处: 没有少了许多代码格式风格的争论,强制统一的风格多好; 编译速度超快,再也不用等待许久,才能编译完工程(测试驱动开发自然更爽); 也不会出现同一个项目组中的人,在使用同一个语言的不同子集。但这种情况不论是在C#还是在Java的世界里,都还是普遍存在的; 轻松跨平台(当然Java做得不错,C#/.net还是努力中...) 这是一门非常简洁、简单、清晰的编程语言(关键字好少啊) 包依赖处理得很有趣; 错误处理机制很有趣,个人觉得比C#/Java的异常处理机制更方便,也更合理些; 对面向对象编程很有趣,非侵入性的接口实现方式,太赞了。...阅读全文

vscode go环境配置

1.先安装Visual Studio Code,下图是版本信息; 2.安装Go语言支持的扩展; 3.下载安装x64版本的gohttps://www.golangtc.com/download,并配置环境变量GOPATH的值为工作空间的路径,我配置的如下: 4.安装相应的扩展插件,主要在这一步遇到了困难,使用vscode的提示安装总是失败,晚上避开封锁的办法只能部分有效,后来我的解决版本是,手动将github中的插件工程通过git clone到C:\Users\Administrator\Desktop\Go\src\github.com目录下,例如: git clone https://github.com/derekparker/delve.gitgo install github.com...阅读全文

博文 2018-10-24 15:34:49 落寞风吹雨

CMDB发布平台:go发布管理

CMDB发布平台是ezbuy的一个发布管理平台,包含了go的发布,windows serices发布,iis发布,memcache管理,svn管理,资产信息管理操作。 随着公司的业务发展,公司go的服务有100多个单实例,如果多机部署计算,是成倍数增长的,而且每天更新发布的频率高,所以如果人为的去发布,会出现以下问题: 开发人员每次update服务,都需要找运维人员发布 每次发布,没有版本信息记载,只有相应的版本号,即没有历史数据 重复工作量大,无技术可言,且容易人为发布错误 没有消息通知 开发人员各自在自己电脑上编译,然后提交到svn(环境不统一) go现在的发布是每次jenkis自动编译通过后,自动上传到svn上,避免编译成mac os版本的go上传到svn,然后通过CMDB平台发布,发...阅读全文

博文 2017-02-13 06:46:40 ezbuy研发

请教byte数组转换字符串问题

我写了段代码,希望的功能是读取html文件,然后将指定的字符串替换成一个新的字符串,但是在读取文件获得文本时碰到了一点问题,读取的文件明明是有数据的,但是在转换成字符串之后没有了,代码如下: ![enter image description here][1] 运行结果: ![enter image description here][2] 但是我把代码 content := string(bytes) 改成 content := string(bytes[:512]), 就能打印出读取的内容,是不是文本太大导致的? 如果是因为文本过大,大家怎么处理的呢? 望能指教! 我的版本信息: ![enter image description here][3]...阅读全文

golang包管理解决之道——go modules初探

golang的包管理是一直是为人诟病之处,从golang1.5引入的vendor机制,到准官方工具dep,目前为止还没一个简便的解决方案。 不过现在go modules随着golang1.11的发布而和我们见面了,这是官方提倡的新的包管理,乃至项目管理机制,可以不再需要GOPATH的存在。 go modules的初始化 现在modules机制仍在早期阶段,所以golang提供了一个环境变量“GO111MODULE”,默认值为auto,如果当前目录里有go.mod文件,就使用go modules,否则使用旧的GOPATH和vendor机制,因为在modules机制下go get只会下载go modules,这一行为会在以后版本中成为默认值,这里我们保持auto即可,如果你想直接使用module...阅读全文

博文 2018-08-28 06:30:01 apocelipes

go语言学习环境的搭建

Linux平台环境搭建: 下载go语言二进制档案包:https://golang.org/dl/ 解压档案包到/usr/local目录下,也可以放在其他目录: tar -zxf go1.7.4.linux-amd64.tar.gz -C /usr/local 验证安装结果:用终端进入go目录下输入: bin/go version 如果显示go语言的版本信息就成功了。 配置环境变量:修改/etc/profile(环境变量对所有用户生效)或$HOME/.profile(对单一用户生效) GOROOT:go语言的安装目录(当目录不在/usr/local中时使用) GOBIN:存放可执行文件的目录 GOPATH:go语言的工作空间(包含src、pkg、bin三个目录),可以有多个 PATH:go语言...阅读全文

Go 1.5.2 下载

来源: http://www.bityeah.com/article/view/VmFi1ADa0zc5ixen.html win32 版本:http://7xozf8.dl1.z0.glb.clouddn.com/go1.5.2.windows-386.msi win64 版本:http://7xozf8.dl1.z0.glb.clouddn.com/go1.5.2.windows-amd64.msi Mac 版本:http://7xozf8.dl1.z0.glb.clouddn.com/go1.5.2.darwin-amd64.pk...阅读全文

主题 2015-12-07 10:08:21 Jason910

Golang 序列化之 ProtoBuf

ProtoBuf: 是一套完整的 IDL(接口描述语言),出自Google,基于 C++ 进行的实现,开发人员可以根据 ProtoBuf 的语言规范生成多种编程语言(Golang、Python、Java 等)的接口代码,本篇只讲述 Golang 的基础操作。据说 ProtoBuf 所生成的二进制文件在存储效率上比 XML 高 3~10 倍,并且处理性能高 1~2 个数量级,这也是选择 ProtoBuf 作为序列化方案的一个重要因素之一。 安装: 安装 protoc :Protoc下载地址,可以根据自己的系统下载相应的 protoc,windows 用户统一下载 win32 版本。 配置 protoc 到系统的环境变量中,执行如下命令查看是否安装成功: $ protoc --version如果...阅读全文

博文 2017-03-07 01:42:03 谢烟客

golang 获取exe、dll、apk 版本号