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

Windows 中文账号导致go test 出问题

看到 golang-china 讨论组上有人提问 go test 的问题,由于Windows下,他的账号是中文的,而目前 Go 的一些命令不支持 UTF-8,导致中文路径有问题。 解决方法: 写一个 go.bat wrap 一下 go.exe,在执行 go.exe 之前设置一下 TEMP 环境变量到一个没有中文的路径, 不需要重新建用户。 大概是因为这个问题: https://code.google.com/p/go/issues/detail?id=3754 等 Go 编译器换成用 Go 写之后就没这个问题了...阅读全文

Go的角色访问控制 goRBAC

goRBAC 为 Go 语言应用提供了轻量级的基于角色的访问控制。 该包适用于:

* 实体具有一个或多个角色
* 角色需要分配权限
* 权限需要分配给角色
因此,RBAC 具有以下模型:
* 在实体和角色之间具有多对多关系
* 在角色和权限之间具有多对多关系
* 角色可以具有父角色(权限继承)
示例代码:
import github.com/mikespook/gorbac

rbac := gorbac.New()

rbac := gorbac.NewWithFactory(YourOwnFactory)

rbac....阅读全文

解读2016之Golang篇:极速提升,逐步超越

Go语言已经7岁了!今年8月,Go 1.7如期发布。撰写本稿时,Go 1.8的测试版也出来了。我们正在热切盼望着明年2月的Go 1.8正式版。 如果你关注TIOBE的编程语言排行榜就会发现,截止到2016年11月,Go语言从原先的第50多位经过多次上窜已经跃到了第13位,跻入绝对主流的编程语言的行列!这份排行榜每月都会更新,并基于互联网上的程序员老鸟、教学课程和相关厂商的数量进行排名。在国内,从我这几年运营Go语言北京用户组的经历来看,可以明显地感觉到Go语言的在国内的大热。N多初创互联网企业都选用Go语言作为他们的基础技术栈。我还发现,已经有在大数据、机器人等尖端科技领域耕耘的国内公司开始使用Go语言。这门语言现在已经是无孔不入了。 1. 回顾 遥想去年的1.5版本,Go运行时系统和标准库...阅读全文

Go语言圣经 1.3-赋值及类型声明篇

赋值(Assignment) 变量的值可以通过赋值操作符 = 来更新, v = 10。x = 1 // 具名变量x *p = true // 指针变量 person.name = "bob" // 结构体struct的字段 count[x] = count[x] * scale // 数组、切片或者map的某个元素 算数操作符和位操作符都有对应的一元操作符形式, v = v + x 等价于 v += x,例如:count[x] *= scale 这样的缩略形式能省去不少重复的工作,同时数字变量还能通过++递增或者--递减:v := 1 v++ // same as v = v + 1; v becomes 2 v-- // same as v = v - 1; v becomes 1 aga...阅读全文

博文 2016-03-18 20:00:00 abv123456789

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

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

博文 2017-10-27 20:59:50 erlib

Go,5周年

Go,5周年 十一 12 bigwhite技术志 cloudflare, DigitalOcean, dotGo, FOSDEM, GC, github, Go, Go1, go1.4, Go1.5, GoCon, GoDevRoom, Golang, Google, Gopher, GopherCon, Gophers, GothamGo, Heroku, RobPike, 垃圾收集器, 谷歌 No Comments 2014年11月10日(美国当地时间),Golang的官方博客 放出了Andrew Gerrand的一篇博文《Half a decade with Go》来纪念Go语言发布五周年。文章按时间顺序简要描述了Golang这五年来发展的 点点滴滴,并让全世界Gopher看到了Go可...阅读全文

博文 2014-11-12 19:13:21 bigwhite

高并发除了java还可以用什么-clojure,go,rust

java的锁和CAS都是开销惊人的(锁会调用本地系统进行线程阻塞和唤醒开销巨大). Actor的消息队列也会有自己的严重问题(使用Actor又会使得编程复杂度大大提高). 所以分布式开发其实是按照业务特性,妥协出最优方案. 在写少读多的并发场景下:clojure的STM,通过多版本控制以空间换时间,提供了类似MVCC的内存事务回滚, ,简单高效到了极致. 大量写的情况下go/rust在CAS上抽象出的task机制也可以让CAS开发变得相当简单 版权声明:本文为博主原创文章,未经博主允许不得转载...阅读全文

博文 2015-11-17 01:00:00 larrylgq

GOLANG 赋值

基本赋值语法 变量=表达式 var a int;a=1 变量里的元素=表达式 var arr[3] int;arr[0]=1 声明变量类型同时赋值 var 变量 类型=表达式 var arr[3] int =[3]int{1,2,3} 复合操作 变量 运算符=表达式 var c int=10;b+=1 变量里的元素 运算符=表达式 var arr [3] int;arr[1]+=2 自增,自减,使用与数值型,不能放在表达式中 变量++,变量-- var i int=99;i++ 元组赋值 变量1,变量2,变量3=表达式1,表达式2,表达式3 var x,y,x int;x,y,z=1,2,3 简短声明,声明变量同时赋值,变量类型有go自主推导 变量 :表达式 teacher :="曾远征...阅读全文

博文 2016-08-30 16:00:00 zengyz

Go语言小例子--实现控制台输入

package main import ( "bufio" "fmt" "os" ) func main() { counts := make(map[string]int) input := bufio.NewScanner(os.Stdin) for input.Scan() { counts[input.Text()]++ } for line, n := range counts { if n > 1 { fmt.Println(n, line) } } } 运行结果 社区交流群:221273219 Golang语言社区论坛 : www.Golang.Ltd LollipopGo游戏服务器地址: https://github.com/Golangltd/LollipopGo 社区视频...阅读全文

博文 2019-01-02 07:34:43 Golang语言社区

golang: 详解interface和nil

golang的nil在概念上和其它语言的null、None、nil、NULL一样,都指代零值或空值。nil是预先说明的标识符,也即通常意义上的关键字。在golang中,nil只能赋值给指针、channel、func、interface、map或slice类型的变量。如果未遵循这个规则,则会引发panic。对此官方文档有明确的说明:http://pkg.golang.org/pkg/builtin/#Type golang interface nil gdb error golang的nil在概念上和其它语言的null、None、nil、NULL一样,都指代零值或空值。nil是预先说明的标识符,也即通常意义上的关键字。在golang中,nil只能赋值给指针、channel、func、inter...阅读全文

博文 2014-10-04 19:26:09 kjfcpua

Go 边看边练 -《Go 学习笔记》系列(十四)(已完结)

相信大家在看编程语言学习教程的时候都会难免觉得有点枯燥: * 自己看书,遇到问题不方便求助 * 书上的代码片段、示例是静态的 * 虽然有时书上会给出运行输出,但是不够直观 * 自己拷贝代码到 IDE 里运行是也比较麻烦 * 即使运行了也要来回在 IDE 和书之间切换,还是麻烦 * 总之,[程序员都是懒人](https://www.baidu.com/s?wd=%E7%A8%8B%E5%BA%8F%E5%91%98%20%E6%87%92%E4%BA%BA&rsv_spt=1&issp=1&f=8&rsv_bp=0&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=1&rsv_sug3=14&rsv_sug1=5&rsv_sug2=0&i...阅读全文

Docker 核心技术与实现原理

Home Menu Docker 核心技术与实现原理 30 Nov 2017 docker namespaces cgroups unionfs aufs server Namespaces 进程 网络 libnetwork 挂载点 chroot
 CGroups UnionFS 存储驱动 AUFS 其他存储驱动 总结 Reference 提到虚拟化技术,我们首先想到的一定是 Docker,经过四年的快速发展 Docker 已经成为了很多公司的标配,也不再是一个只能在开发阶段使用的玩具了。作为在生产环境中广泛应用的产品,Docker 有着非常成熟的社区以及大量的使用者,代码库中的内容也变得非常庞大。 同样,由于项目的发展、功能的拆分以及各种奇怪的改名 PR,让我们再次理解 Docker 的的...阅读全文

博文 2017-12-02 11:31:02 draveness.me

学习Golang语言(2): 变量

# 学习Golang语言(2): 变量 跟着“码术”一起学习Golang语言。学习一门新的语言,我们首先了解的是新语言的变量声明,基本类型,关键字以及控制流。本章主要讲解变量声明。 学习一门新的语言,我们首先了解的是新语言的变量声明,基本类型,关键字以及控制流。 Go语言在语法上类似于C语言。但是不同于C语言,Go虽然也是用分号进行语句分割,但是程序员不需要在每行程序结尾添加分号。Go语言的编译器会自动在每行末尾添加分号。 但是,如果你需要将两行(或者更多行)语句放在同一行内,那么需要使用分号(;)进行分隔。 **变量声明** Go语言不同于其他语言的地方在于:变量的类型在变量名之后。例如: C中: int a;而在Go中:var a i...阅读全文

Golang Module Vs Dep: 支持 & 反对

![img](https://raw.githubusercontent.com/studygolang/gctt-images/master/vgo-module/vgo-modules-dependency-management-golang-blog-hero-1200x630.png) Go 语言有着一个热情的社区。尤其是当涉及推动语言本身及其生态的进步时,这种热情催生出精彩的讨论和许多很棒的想法,但是在前进的方向上发生分歧时,热情也会使社区分裂。比如,关于版本和依赖管理,在今年早些时候推出 vgo 和 Go modules 之前,社区主导的试验性的 dep 是很有可能成为事实标准的。 ## Vgo + Modules Vgo 是 Go 的参考实现,旨在提供通用的版本控制,尤其是依赖...阅读全文

博文 2019-06-23 22:03:19 polaris

学习Golang语言(2): 变量

跟着“码术”一起学习Golang语言。学习一门新的语言,我们首先了解的是新语言的变量声明,基本类型,关键字以及控制流。本章主要讲解变量声明. 学习Golang语言(1): Hello World 学习Golang语言(2): 变量 学习Golang语言(3):类型--布尔型和数值类型 学习Golang语言(4):类型--字符串 学习Golang语言(5):类型--数组 学习一门新的语言,我们首先了解的是新语言的变量声明,基本类型,关键字以及控制流。 Go语言在语法上类似于C语言。但是不同于C语言,Go虽然也是用分号进行语句分割,但是程序员不需要在每行程序结尾添加分号。Go语言的编译器会自动在每行末尾添加分号。 但是,如果你需要将两行(或者更多行)语句放在同一行内,那么需要使用分号(;)进行分...阅读全文

博文 2014-10-09 16:00:04 codemanship

定义 Go 模块(vgo)

本文译自 Defining Go Modules, Go & Versioning 的第 6 部分, 版权@归原文所有. 正如在概述文章中介绍的, Go 模块是作为一个版本化的软件包集合单元, 连同列出其他所需模块的 go.mod 文件. 转向模块是我们重新审视和修正 go 命令如何管理源代码的许多细节的机会. 在我们打算使用模块弃用当前的 go get 模型时, 10 年已经过去了. 我们需要确保模块设计将在未来十年为我们提供良好的服务. 尤其是: 我们希望鼓励更多的开发人员为他们的软件包打标签(tag), 而不是期望用户只会选择一个对他们来说看起来很好的提交哈希. 标记显式发布清楚地表明了对别人有用的以及正在开发的东西. 同时, 它仍然可以 - 尽管可能不方便 - 请求特定的提交. 我们...阅读全文

Go语言版本控制及包依赖管理

传统Go构建以及包依赖管理 Go在构建设计方面深受Google内部开发实践的影响,比如go get的设计就深受 Google内部单一代码仓库(single monorepo)和基于主干(trunk/mainline based)的开发模型 的影响:只获取Trunk/mainline代码和版本无感知 image.png 我们知道go get获取的代码会放在GOROOT/src下面,而go build会在GOROOT/src和GOPATH/src下面按照import path去搜索package,由于go get 获取的都是各个package repo的trunk/mainline的代码,因此,Go 1.5之前的Go compiler都是基于目标Go程序依赖包的trunk/mainline代码去...阅读全文

博文 2018-08-23 17:36:48 一根很帅的藤藤菜

Go语言开发工具 LiteIDE x10 发布

GO语言开发工具liteide x10发布,更新了GO调试插件。 LiteIDE项目: 操作系统: Windows / Linux x86 / Linux x86_64 / MacOS X 10.6 项目主页: http://code.google.com/p/golangide 项目源码 : http://code.google.com/p/liteide 讨论组: http://groups.google.com/group/liteide-dev 下载链接: http://code.google.com/p/golangide/downloads/list IDE基本特性: 以MimeType为基础构建的IDE环境变量管理和切换功能源码编译系统管理和切换功能简洁和开放的调试系统KATE...阅读全文

Kafka 消费者滞后检查 Burrow

Burrow是一个基于Apache Kafka的监控助手,为消费者提供滞后检查作为服务,而不需要指定的阈值。它可以监视所有消费者提交的偏移,并计算这些消费者的需求状况。 **特性** * 没有阈值 * 多Kafka集群支持 * 支持配置 Zookeeper 提交的偏移 * 支持配置 Strom 提交的偏移 * 可配置的emailer用于发送警报到特定群体 * 可配置的HTTP 客户端用户为所有的用户组发送警报到其他系...阅读全文

python开发软件用什么工具?python在线学习

来源:http://www.oldboyedu.com 一个优秀的IDE,最重要的就是在普通文本编辑之外,提供针对特定语言的各种快捷编辑功能,让程序员尽可能快捷、舒适、清晰的浏览、输入、修改代码。对于一个现代的IDE来说,语法着色、错误提示、代码折叠、代码完成、代码块定位、重构,与调试器、版本控制系统(CVS)的集成等等都是重要的功能。以插件、扩展系统为代表的可定制框架,是现代IDE的另一个流行趋势。 **1.PyCharm** PyCharm是JetBrains开发的Python IDE。PyCharm用于一般IDE具备的功能,比如, 调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制等,另外,PyCharm还提供了一些很好的功能用于Dj...阅读全文

golang recover panic 流程控制的可达与不可达

--------------------------流程控制可达----------------------------- package main import "fmt" func explode() { // Cause a panic. panic("WRONG") } func throwPanic(f func()) { defer func() { if err := recover(); err != nil { // Handle our error. fmt.Println("FIX") fmt.Println("ERR", err) } }() f() fmt.Println(" finish") } func main() { throwPanic(explode) ...阅读全文

博文 2015-05-04 09:00:02 rojas

go编译github.com/pebbe/zmq4失败

github.com/pebbe/zmq4是对zeromq 4.x的go语言封装,在go中使用了cgo混合编译。 我安装完zeromq4.1.3后,编译时控制台输出如下,麻烦大神看看是什么问题。 [ `go build` | done: 478.984962ms ] # github.com/pebbe/zmq4 gcc did not produce error at completed:1 on input: #line 3 "/Users/besthaos/work/study/go/workspace/src/github.com/pebbe/zmq4/zmq4.go" #include #include 阅读全文

新一代建站主机,领先技术架构,新品大促,100%中奖

弹性Web托管是新一代的网站托管产品,基于先进的容器技术架构,具有内核级资源隔离、攻击隔离、安全隔离、独享内存等优势,同时预装网站环境,配套控制面板,赠送1G正版数据库,管理方式与虚机一样简单,让客户能够更加专注于自身业务的发展。 12.9-12.31 新品大促,抽券赢免单,100%中奖,还可赢888元大奖,数量有限,先到先得! ----------------------》》 抽奖地址:tb.cn/x8fVFfx 《《------------------------- ![11111.png](http://studygolang.qiniudn.com/151210/ea84bbfa37d2cf2038ff8155c73b1752.png) 快来看看新一代建站...阅读全文

[笔记] Golang Socket

1. Socket 简介 常用的 Socket 类型有两种:流式 Socket(SOCK_STREAM)和数据报式Socket(SOCK_DGRAM)。 流式是一种面向连接的 Socket,针对于面向连接的 TCP 服务应用; 数据报式 Socket 是一种无连接的 Socket,对应于无连接的 UDP 服务应用 2. 网络中的进程之间如何通过 Socket 通信呢? 网络层的“ip 地址”可以唯一标识网络中的主机,而传输层的“协议+端口”可以唯一标识主机中的应用程序(进程)。这样利用三元组(ip 地址,协议,端口)就可以标识网络的进程了,网络中需要互相通信的进程,就可以利用这个标志在他们之间进行交互。 3. 代码示例:客户端模拟HTTP 协议 1 package main 2 3 impo...阅读全文

博文 2016-05-06 10:00:08 loveyx

Golang 执行 Console 命令

网上目前有比较多的方案来实现golang执行控制台命令, 但是能做交互, 并且可以持续获取控制台返回结果的,还是比较少的,刚好有个开源项目 filebrowser 当中有相关的功能,顺手把相关源码拿了出来,今天拿出来贡献一波~ 废话不多说,上代码 import ( "bufio" "fmt" "io" "os/exec" ) func main() { execCmd("ps", []string{"-a"}) } func execCmd(shell string, raw []string) (int, error) { cmd := exec.Command(shell, raw...) stdout, err := cmd.StdoutPipe() if err != nil { f...阅读全文

博文 2019-10-04 15:32:47 aside section ._1OhGeD

Go语言学习笔记(三) [控制结构、内建函数]

日期:2014年7月21日 一、控制结构 1、Go中,只有几个控制结构,它没有do或者while循环,有for,灵活的switch语句和if,在switch中可以接受像for那样可选的初始化语句,另外Go中还提供了类型选择和多路通信转接器的select。Go的控制结构的语法和C相比有所不同,它不需要圆括号,但语句体必须总是包含在大括号内。 2、控制结构语法 1)if-else (1)if后紧跟单个条件 例如:if x > 0 { //{必须和if在同一行,这是Go语法规定的,如果换行写,编译就会报错 return y } else { return x } (2)if后接受初始化语句 例如: m1:=7 if n1:=9; n1 >= m1 { fmt.Print("n1 >= m1") }...阅读全文

博文 2014-10-22 17:00:00 whxaing2011

Go语言开发工具 LiteIDE x12 发布

GO语言开发工具liteide x12发布,增强对GO1的支持。 LiteIDE项目: 操作系统: Windows / Linux x86 / Linux x86_64 / MacOS X 10.6 项目主页: http://code.google.com/p/golangide 项目源码 : http://code.google.com/p/liteide 讨论组: http://groups.google.com/group/liteide-dev 下载链接: http://code.google.com/p/golangide/downloads/list更新记录: http://code.google.com/p/golangide/wiki/changes快捷键: http://c...阅读全文

博文 2014-11-15 13:00:11 visualfc

Go自学团队:Day 2:函数声明,流程控制

``` package main //go 语言控制结构 import ( "fmt" "math" ) const ( name string = `sunlong` age int = 10 height int = 180 ) func main() { //fmt.Print( name ) //var age int = 10; //使用函数 control_if() var score = control_switch(20) fmt.Print( "\r\n 你的结果是:" ,score ) control_for() } func control_if(...阅读全文

ubuntu10.04下安装配置GO语言环境

GO语言初探 简介:一直想去研究一下Google牛人们搞出来的GO语言,终于在看了《Go语言之父谈Go:大道至简》这篇文章之后,安耐不住好奇,来体验一下GO语言是什么东西! 1.安装环境ubuntu10.04 2.安装Go的版本控制工具----这是为了下载Go语言的安装源码 ~$:sudo apt-get install mercurial ~$ hg 分布式软件配置管理工具 - 水银 基本命令: add add the specified files on the next commit annotate show changeset information by line for each file clone make a copy of an existing repository ...阅读全文

博文 2014-12-11 15:00:01 mr_mistletoe

Defer, Panic, and Recover[翻译]

文: http://golang.org/doc/articles/defer_panic_recover.html (被墙) 中文: http://zh-golang.appsp0t.com/doc/articles/defer_panic_recover.html Go语言提供一般的流程控制语句: if, for, switch, goto. 同时它还提供go语句来执行一个 goroutine. 这里我们将介绍几个不太常见的语句: defer, panic, 和 recover. 一个 defer 调用的函数将被暂时保存到调用列表中. 保存的调用列表在当前环境返回的时候被执行. Defer 一般可以用于简化代码, 执行各种清理操作. 让我们演示一个文件复制的例子: 函数需要打开两个文件,...阅读全文

博文 2015-05-03 22:20:00 chai2010

MongoDB 上市后,带你认识这款非同一般的文档数据库

本文地址:https://linux.cn/article-9006-1.html 2017-10-28 20:18 收藏: 1 10 月 20 日,位于纽约的 MongoDB 在纳斯达克上市,当日收于 32.07 美元,比 24 美元的 IPO 价格高出 34%。MongoDB 首席财务官 Michael Gordon 放言:MongoDB 在数据库系统这个市场大有机会取代 IBM 和 Oracle!如此的霸气,底气哪里来? 大数据和云计算的风被谷歌吹起来的时候,被谷歌收购的网络广告公司 DoubleClick 的原 CEO 和 CTO 们觉得自己应该蹭上时代的列车,再次创业,然后 10gen 公司就这样在纽约诞生了。它的创始人分别是 DoubleClick 的创始人兼 CTO 德怀特 ·...阅读全文

为 Kubernetes 提供 CI/CD 服务Jenkins X

Jenkins X 是一个高度集成化的 CI/CD 平台,基于 Jenkins 和 Kubernetes 实现,旨在解决微服务体系架构下的云原生应用的持续交付的问题,简化整个云原生应用的开发、运行和部署过程。 **Jenkins X 不是一个全新的 Jenkins。** 它依然使用 Jenkins 作为持续交付的核心引擎,实际上 Jenkins X 作为 Jenkins 的一个子项目存在,专注于云原生应用的 CI/CD 实现,同时也帮助 Jenkins 自身完成云原生应用的转型,毕竟现在越来越多的人在诟病单体应用的设计和文件存储系统。 **HELM** Helm是用于管理Kubernetes资源对象的工具,类似APT,YUM和HOMEBREW,他通过将Kubernetes的资源对象打...阅读全文

Go语言核心之美 1.3-赋值及类型声明篇

版权声明:本文为Sunface(孙飞)原创文章,转载请注明出处 https://blog.csdn.net/abv123456789/article/details/50894001 赋值(Assignment) 变量的值可以通过赋值操作符 = 来更新, v = 10。x = 1 // 具名变量x *p = true // 指针变量 person.name = "bob" // 结构体struct的字段 count[x] = count[x] * scale // 数组、切片或者map的某个元素 算数操作符和位操作符都有对应的一元操作符形式, v = v + x 等价于 v += x,例如:count[x] *= scale 这样的缩略形式能省去不少重复的工作,同时数字变量还能通过++递增或...阅读全文

博文 2019-03-17 13:09:03 erlib

Casbin 实现访问控制

简介 Casbin可以做到: 支持自定义请求的格式,默认的请求格式为{subject, object, action}。 具有访问控制模型model和策略policy两个核心概念。 支持RBAC中的多层角色继承,不止主体可以有角色,资源也可以具有角色。 支持超级用户,如 root 或 Administrator,超级用户可以不受授权策略的约束访问任意资源。 支持多种内置的操作符,如 keyMatch,方便对路径式的资源进行管理,如 /foo/bar 可以映射到 /foo* Casbin不能做到: 身份认证 authentication(即验证用户的用户名、密码),casbin只负责访问控制。应该有其他专门的组件负责身份认证,然后由casbin进行访问控制,二者是相互配合的关系。 管理用户列表...阅读全文

博文 2019-12-21 14:32:41 雨澍生

Golang Module 帮助文档翻译

备注:本猿翻译水平有限,请各位看客见谅 翻译内容: go1.11 版本中 go help modules文档内容 总述 模块是Go Packages关联的集合,是源代码交换和版本控制的单元。 Go命令直接支持使用模块,包括记录和解决对其他模块的依赖。 模块取代了传统的基于GOPATH的方法来指定在给定的构建中使用哪个源文件。 模块的初级支持 Go 1.11包含了对Go Module的初级支持,包括一个新的感知模块命令“go get”。我们打算继续修正这一支持,并同时保持兼容性,直到它可以被宣布为正式版本(不再是初级版本)。在之后的版本,我们会移除对GOPATH和旧的“go get”命令的支持。获得最新Go 1.11 Module技术支持的最快途径是将你的代码仓库check out到GOPAT...阅读全文

博文 2019-02-15 10:34:44 星云数联

Golang log日志

golang控制台输出log和两种将log输出到文件的方法 func Logs() { /* O_RDWR 读写模式打开文件 O_APPEND 写操作时将数据附加到文件尾部 O_CREATE 如果不存在将创建一个新文件 */ logFile, err := os.OpenFile("./golang.log", os.O_RDWR | os.O_CREATE | os.O_APPEND, 0766) if err != nil { panic(err.Error()) } else { // 控制台打印log log.Println([]string{"你好", "golang日志"}) // 方法一,将文件设置为log输出的文件 log.SetOutput(logFile) // 输出前缀...阅读全文

博文 2020-03-27 01:32:47 是个懒人

也谈Go语言代码包分发

也谈Go语言代码包分发 十 25 bigwhite技术志 bitbucket, Blog, Blogger, Git, github, Go, Golang, Google, launchpad, Opensource, Programmer, svn, 博客, 开源, 版本控制, 程序员 1 Comment Go语言目前(截至1.0.2版本)尚不支持直接链接.a文件(这里的.a文件指的不是传统静态共享库,而是对golang的非main包build后的产物)。这样一来Go的第三方库包或组织内部的公共代码库包只能以源码的形式分发了。 Go提供了get命令用于获取他人分发的代码包。我们通过get命令既可以获取一些知名代码托管站点上的代码,也可以获取组织内部版本控制服务器上的公共代码。 Go ge...阅读全文

博文 2014-11-30 21:24:31 bigwhite

打造容器工作流的云原生平台 Cyclone-caicloud

![image](https://static.oschina.net/uploads/space/2016/1108/174047_xW7k_2894582.jpeg) Cyclone是一个打造容器工作流的云原生持续集成持续发布平台。 Cyclone主要致力于将代码从本地开发环境用任意容器引擎封装搬运到测试或者生产环境运行。Cyclone包括一下特性: * 容器原生: 每次构建、集成、部署均在容器中运行,完全解决运行时环境不一致的问题。 * 依赖关系: 定义依赖规则或简单的组件关系,确保执行顺序依照既定策略。 * 版本控制: 基于版本控制构建,检索镜像/流水线历史就像查询版本管理接口一样简单。 * 双向绑定: 记录每次CI/CD操作用于回答类似问题:“各容器镜像部署在集群哪个角...阅读全文

go语言总结第一章

需要注意的地方:1.整型数据的溢出; 一个int8型整数的最大值是127,如果在加上一就是-128.2.特殊类型:复数: 复数实际上由两个浮点数构成,一个表示实部,一个表示虚部。3.Go语言规定,函数,控制结构等的左大括号“{”必须和函数声明或控制结构放在同一行。如果将左大括号放在函数声明,控制语句的下一行,编译器会在左大括号的前方自动加一个大括号,可能导致程序异常。4.Go对多语言的支持。5.函数名首字母为小写,即为private 函数名首字母为大写,即为publi...阅读全文

也许 Go 开发可以更简单!Go += Package Versioning

> > 简评:对于Go来说一直以来依赖包的版本控制上没有一个好的方案,尽管社区诞生了不下十余个解决该问题的工具,但一直以来没有一个官方的支持。这个提案有望在Go > 的下个版本中看到官方的包版本控制了,去除了GOPATH依赖,同时还引入了module 的概念,真正意义上实现了重编译,可谓一次大的变更 是时候为 Go 添加包版本控制了! 更确切地说,我们需要把包版本的概念普及到Go 开发者和工具常用词汇中,以便在后续的相互沟通时能准确一致的表达哪些程序代码需要编译、运行和解析。同样,go 命令也需要准确的告诉开发者在编译中使用了哪个包的哪个版本。 版本控制可以让我们能够实现重编译。当我让你试用我程序最新版本时,我清楚的知道你不仅仅获取到的是我最新程序的代码,还包括我代码所依赖的相同版本的包,这...阅读全文

博文 2018-02-23 10:59:15 缪斯的情人

GO1.6语言学习笔记2-安装配置及代码组织

一、关于GO开发环境的安装和配置 在linux环境中安装编译好的go安装包,参考官方指南的步骤一步步走下来就可以了。需要注意的是以下几个环境变量的配置: GOROOT - go编译库的目录,类似于java的JAVA_HOME PATH - 注意把$GOROOT/bin添加上去 GOPATH - go工作目录,类似于eclipse的workspace 以下是具体的安装步骤和环境配置 $ wget https://storage.googleapis.com/golang/go1.6.linux-amd64.tar.gz $ tar -C /usr/local -xzf go1.6.linux-amd64.tar.gz 安装目录是/usr/local/go, 工作目录是/usr/local/go...阅读全文

博文 2016-03-21 04:00:10 andrew-xie

常用Python数据类型转换方法 学习python课程

Python 支持四种不同的数值类型,分别是整型、长整型、浮点型和复数,这些类型的数据有各自的特点,在使用过程中也可以进行类型转换,具体转换方法如下: int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 float(x ) 将x转换到一个浮点数 complex(real [,imag ]) 创建一个复数 str(x ) 将对象 x 转换为字符串 repr(x ) 将对象 x 转换为表达式字符串 eval(str ) 用来计算在...阅读全文

Python 代码性能优化技巧

来源:http://www.oldboyedu.com/zuixin_wenzhang/index/id/129.html Python开发代码简化除了采用规范化的编程规则之外,代码编写的逻辑性和对内置规则的掌握也对其有一定的影响,以下是Python3支持的用法,合理的利用可以极大的简化代码的书写复杂度。 **1. 列表推导式** 对于一组列表,如果想让其所有元素翻倍,很多人都会采用以往比较经典的写法,其实Python中有更精简的办法,实例如下: **以往做法:** num = [1, 3, 5, 7, 9] for i in range(len(num)): num[i] = num[i] * 3 **Python简化写法:*...阅读全文

sspanel按月结算,修改go版代码【mysql api】

开头感谢sspanel的作者orvice大神!【转载请注明】 博主最近在搭建sspanel v3,中间坑确实挺多的,我回头开贴补充一下,ss服务器端我选择了orvice的shadowsocks-go mu版,因为作者是基于流量控制的机理,实际上奸商都是通过时间控制(233),所以我就寻思在作者的基础上加以修改,添加时间的限制。 注:此版本基于mysqlapi,webapi的修改方式令开贴 我在sspanel数据的user表中添加了两个字段:end_time int,到期日期(1970开始的时间戳);package_type int 套餐类型(无,月,三个月,半年,一年)。 具体可以根据自己实际需要情况修改。 首先,我们找到用户控制代码,在shadowsocks-go-mu\mu\mysql\...阅读全文