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

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

go get 代理设置

前提: 假设安装好git 我的FQ方式(也可以使用别的方式): 使用 ishadowsocks 方式FQ 临时设置Windows下代理: 在控制台执行如下命令,后面的的代理值根据你具体的代理进行设置 set http_proxy=http://127.0.0.1:1080/pac?t=201603231602138322 set https_proxy=https://127.0.0.1:1080/pac?t=201603231602138322 临时设置Linux下代理: 在控制台执行如下命令,后面的的代理值根据你具体的代理进行设置 http_proxy=http://127.0.0.1:1080/pac?t=201603231602138322 https_proxy=https://1...阅读全文

博文 2016-03-24 02:00:01 simplelovecs

[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 伯乐在线

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

Golang语法总结(三):可见性规则(公有与私有,访问权限)

Go语言没有像其它语言一样有public、protected、private等访问控制修饰符,它是通过字母大小写来控制可见性的,如果定义的常量、变量、类型、接口、结构、函数等的名称是大写字母开头表示能被其它包访问或调用(相当于public),非大写开头就只能在包内使用(相当于private,变量或常量也可以下划线开头) 例如: visibility/test.go package visibility import "fmt" const PI = 3.145const pi = 3.14const _PI = 3.14 var P int = 1var p int = 1 func private_function() { fmt.Println("only used in this pa...阅读全文

博文 2016-02-29 07:00:00 QQ245671051

golang包管理工具glide简介

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

GO-log日志封装

Go封装日志: 支持归档输出,一个小时压缩归档一份 最多保留三天的日志 支持日志级别自定义 如果没有指定输出文件默认输出到控制台。 支持输出文件名行号,以及时间、日志界别 如: info 10:08:40.826836 handler.go:81 package logger import ( "fmt" "log" "os" "os/exec" "strings" "time" ) const ( PanicLevel int = iota FatalLevel ErrorLevel WarnLevel InfoLevel DebugLevel ) type LogFile struct { level int logTime int64 fileName string fileFd *o...阅读全文

博文 2016-09-17 09:00:01 gdutliuyun827

让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 Unmarshal 小问题

正常情况: func main() { str := `{"expires_in":2592000,"refresh_token":"22.84564433384c3dffdf8c2b123b6da8de.315360000.1756090115.2605827041-6701125","access_token":"21.060aaae1049e2604d0fa71d992aea516.2592000.1443322115.2605827041-6701125","session_secret":"6ce3910403a953006916f1fafef433c5","session_key":"9mnRdL3CfpvaeMqn4g2A4f1b+olbN4iD079GhsDIumsoSy9A...阅读全文

博文 2015-08-28 12:00:02 北京_

默默前行的livego--基于go语言的rtmp直播服务器

为什么go语言,原因太多了! 轻量级协程,随时goroutine方便的channel方便的interface强大的服务器性能 简单点GO语言---为服务器而生! 我们来看看: livego--基于go语言的rtmp直播服务器 github地址: https://github.com/runner365/livego 什么是livego livego是基于golang开发的rtmp服务器 为什么基于golang golang在语言基本支持多核CPU均衡使用,支持海量轻量级线程,提高其并发量 当前开源的缺陷: srs只能运行在一个单核下,如果需要多核运行,只能启动多个srs监听不同的端口来提高并发量; ngx-rtmp启动多进程后,报文在多个进程内转发,需要二次开发,否则静态推送到多个子进程,效...阅读全文

博文 2017-08-25 01:32:12 sweibd

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

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

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

Log4Go 笔记

一、概念 在java、.net平台有非常有名的日志类,golang 也有对应的版本 安装: go get github.com/alecthomas/log4go 二、日志级别 type Level int const ( FINEST Level = iota FINE DEBUG TRACE INFO WARNING ERROR CRITICAL ) 可以看到作者定义了一个 Level 类型来定义日志级别,使用的时候注意。 三、LogWriter 1. ConsoleLogWriter :控制台输出日志 logger1 := log4go.Logger{} logger1.AddFilter("logger1", log4go.INFO, log4go.NewConsoleLogWrit...阅读全文

博文 2016-02-03 03:00:02 loveyx

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

Go += 包版本

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

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

Ubuntu下安装go语言

Ubuntu下安装go语言 Go语言是Google开发的一个开源项目,目的之一是为了提高开发人员的编程效率。Go语言语法灵活,简洁,清晰,高效。它的并发特性可以方便的用于多核处理器和网络开发,同时灵活新颖的类型系统可以方便的编写模块化的系统。go可以快速编译,同时具有垃圾内存自动回收功能,并且还支持运行时反射。go十一个高效、静态类型,但是邮局有解释语言的动态类型特征的系统级语法。 由于只介绍Ubuntu下386的go语言安装方法,其他平台的可以到http://code.google.com/p/golang-china/上查看 1、安装Go语言工具 ? sudo apt-get install bison ed gawk gcc libc6-dev make 如果上面有那个安装不上的可能会...阅读全文

博文 2014-10-04 19:26:27 sherlockhomles

javascript + golang处理时间问题

javascript + golang处理时间问题 今天一个同事问js和golang处理时间问题上总是有误差,于是想到了去年做的一个项目中也出现了这样的问题,发个博客记录一下: 直接上代码: javascript片段: var sa = $('#sa').datetimebox('getValue'); var ea = $('#ea').datetimebox('getValue'); //此时sa和ea输出为yyyy-MM-dd HH:mm:ss这种标准格式的字符串 ----------------------------------------- var sa1 = new Date(sa).toISOString(); var ea1 = new Date(ea).toISOStri...阅读全文

博文 2016-02-16 12:00:02 u013701108

go项目使用gox交叉编译,生成跨平台的可执行文件

【第一次安装】 1.安装gox $ go get github.com/mitchellh/gox $ cd $GOPATH/src/github.com/mitchellh/gox $ go build 2.编辑~/.bash_profile(bsh) 或者~/.zshrc(zsh) 添加一行: alias gox="$GOPATH/src/github.com/mitchellh/gox/gox" 新开终端,让设置生效。 3.生成本地工具链(如果go版本升级,比如从1.3.3升级到1.4,需要重新运行这个命令先) $ gox -build-toolchain 【交叉编译项目】 1.比如有一个项目的目录在$GPATH/src/hello $cd $GPATH/src/hello $gox ...阅读全文

使用Homebrew安装配置golang环境

安装Homebrew 在Homebrew复制安装命令,在控制台运行完成安装 安装golnag $ brew update && brew upgrade $ brew install go PATH配置 创建一个目录作为gopath,在目录创建三个目录bin、src、pkg $ cd ~ $ vim .bash_profile 编辑.bash_profile文件并保存,文件内容如下 export GOROOT=/usr/local/opt/go/libexec # GOPAT为上面创建的目录路径 export GOPATH=/Users/deweixu/coding/Go/go_path export PATH=$PATH:$GOROOT/bin:$GOPATH/bin 运行source ....阅读全文

博文 2017-02-11 09:00:42 Simeone_xu

golang 获取exe、dll、apk 版本号