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

golang:实现thrift的client端协程安全

前言 Golang作为我们服务端开发的主要语言,实现了很多基础服务,比如oauth2,账户系统,支付,客服等。而在早期开发阶段,也尝试使用golang做页面展示,但每种语言都有自己最擅长的领域,让golang来搞前端实在是有点疼,最终我们选择php+golang的方式来作为整体的服务架构。 那么问题来了,php和golang这对好基友如何愉快的玩耍呢?结论是thrift是块好肥皂! 抛砖 市面上肥皂一大堆,最著名的是舒肤佳,那么我们为毛不用舒肤佳,而选择thrift呢。。。因为够酸爽! 这种酸爽,只有牙口好,才能吃嘛嘛香。众所周知,thrift有多种型号(传输协议),比如家用型的TDebugProtocol,持久型TBinaryProtocol还有爆炸型TCompactProtocol。 而...阅读全文

博文 2014-10-17 23:17:15 郝冠伟

等待5年,Go 2.0终于要来了!

蛰伏5年,Go Language 2.0 终于要来了!早在今年8月份,Go团队便提出了2.0版本的设计草案,包括两大主题:错误处理和泛型。而今天,团队开发人员发话了:“是时候采取行动了!”Go 1和Go 2主要的区别在于决策的制定——Go 1的诞生是一个小团队的努力,而Go 2将更受其社区的影响。目前在Go 2的提案中,大约有120个未解决的问题被标记为Go 2的提案,每一个问题都与重要的库或语言更改相关,而这些问题通常不能满足当前Go 1的兼容性。开发人员将这些提案分类为Go2Cleanup、NeedsDecision等,以便后续的执行操作。在Go语言的生态中,拥有数以万计的程序员和代码,因此,所有的决策和改变必须谨慎,以免对稳定的生态造成破裂。因此,Go团队认为,需要实施新的提案评估流程...阅读全文

golang arm 交叉编译

set GOOS=linux set GOARCH=arm cd go/src make.bat cd .. cp bin/%GOOS%_%GOARCH% %GOROOT%/bin -r cp pkg/%GOOS%_%GOARCH% %GOROOT%/pkg -r cp pkg/tool/%GOOS%_%GOARCH% %GOROOT%/pkg/tool -r 使用百度手机助手,开启USB调试:点击多次“版本号”,开发者选项->启用USB调试 使用百度手机助手的bdadb.exe shell,进入后su,手机上赋予root权限 cp /sdcard/download/linux_hello /data/ chmod 777 /data/linux_hello (sdcard是fat32格式,...阅读全文

博文 2015-03-17 09:00:01 chuqingq

golang byte 操作

21天精品区块链课程免费学习,深入实战行家带路,助力开发者轻松玩转区块链! >>> byte数组转int // bytes to int 32 func bytesTo32Int(b []byte) int { buf := bytes.NewBuffer(b) var tmp uint32 binary.Read(buf, binary.BigEndian, &tmp) return int(tmp) } // bytes to int 16 func bytesTo16Int(b []byte) int { buf := bytes.NewBuffer(b) var tmp uint16 binary.Read(buf, binary.BigEndian, &tmp) return in...阅读全文

博文 2018-09-01 14:33:13 Robin3D

Go1.7改善了编译速度并且会生成更快的代码

Go1.7的开发周期正在接近它的下一个里程碑,Go的提交者Dave Cheney报告了子即将发布的版本中,团队成员在语言工具链上的努力。 Cheney称,基于当前的开发状态,Go1.7将会很容易就成为最好的Go发布版本。提升工具链的努力主要聚焦在如下两个方面: 编译和链接的时间; 代码生成。 当谈到编译时间,Go编译器自从C转到了Go的影响而一直以来的较慢的性能。这个问题已经被讨论很多次并且最近的完成的工作目标就是减少编译器内存使用来改善链接时间。这项改进和Go1.5.3相比大约减少了20-30%的总编译时间,如下图所示: 代码生成,如上文所述,是Go1.7的另一个主要关注点。新的后端改用SSA,和LLVM以及其他编译器着的一样,以启用代码生成的很多优化。这些优化包含更好的无用代码的消除,寄...阅读全文

继续招聘Go的后端开发人员

公司:创业团队,公司已注册,拿到千万级别的天使投资,方向是O2O,具体领域涉及到商业模式,在这里不细说了,总之是一个还没有巨头的大市场,非常看好。 坐标:上海,长寿路上,靠近7号地铁线,5A级写字楼。 环境:办公环境不错,为每个开发人员配备全新rmbp + 28寸4K显示器 待遇:1.2万-2万,如果的确有料,还可以再谈,半年后根据实际贡献和能力,甚至可以提供股权。 准备用Go来做后端,采用微服务架构体系,欢迎真心喜欢Go的兄弟联系我...阅读全文

golang rbac框架

在 https://github.com/mikespook/gorbac/tree/v1.0 github上新的版本是开发板,得用这里的老版 demo package main import ( "gopkg.in/mikespook/gorbac.v1" "fmt" ) func main() { permissions := []string{"admin","guest","normal"} rbac := gorbac.New() rbac.Add("rico",permissions[1:],[]string{}) IsGranted := rbac.IsGranted("rico","guest",nil) fmt.Println("grant is ", IsGranted)...阅读全文

博文 2016-02-03 10:00:02 ziyouchutuwenwu

【小米直招】小米HR直招Golang/C/C++

####由于业务发展的需要,小米数据中心急招 **Golang 开发工程师**,主要负责**后端开发**。 ##### **go 后台开发** - 任职要求: 1. 熟悉c/c++,有go开发经验更好; 2. 熟悉常用的数据结构和算法,有acm比赛经验优先; 3. 熟悉常用后台开发技术,了解分布式系统基本原理; 4. 代码功底扎实,知道如何寻找系统性能瓶颈以及优化方案; 5. 有风控意识,了解系统存在风险点及预防措施。 #####承诺:**期权和现金均为市场领先水平** #####联系方式: - 邮箱: wangchao_a@xiaomi.com - QQ: 1723388523 #####期待各位技术大牛加...阅读全文

go实战(5):引入bootstrap,设置静态资源

an 之前生成了Product类的scaffold,但是如同rails的开发者David所讲的那样,scaffold几乎没什么用。所以按照《Agile Web Development with Rails 4th》中的迭代计划,下一步的修改是美化list页面: 但是这个界面还是太丑陋了。其实,有了bootstrap后,很多站点都变成了“又黑又硬”的工具条+“小清新”风格。我们即不能免俗,又懒得自已设计风格,不妨用bootstrap将产品清单界面重新设计成如下的风格: 下面让我们来实现这个界面。显然web界面会使用一些静态资源(css,js,image等), 要在Django中引入静态资源)。Django在正式部署的时候对于静态资源有特殊的处理,在开发阶段,可以有简单的方式让静态资源起作用。 ...阅读全文

博文 2015-11-27 05:00:01 oMingZi12345678

Go语言 goroutine是一把双刃剑

go中的goroutine是go语言在语言级别支持并发的一种特性。初接触go的时候对go的goroutine的欢喜至极,实现并发简便到简直bt的地步。但是在项目过程中,越来越发现goroutine是一个很容易被大家滥用的东西。goroutine是一把双面刃。这里列举一下goroutine使用的几宗罪: 1 goroutine的指针传递是不安全的 1 2 3 4 5 6 7 8 fun main() { request := request.NewRequest() //这里的NewRequest()是传递回一个type Request的指针 go saveRequestToRedis1(request) go saveReuqestToRedis2(request) select{} } 非...阅读全文

博文 2014-10-11 20:00:09 abv123456789

整理了一些免费区块链、以太坊技术开发相关的文件,需要的拿去。

收集整理了一些免费区块链、以太坊技术开发相关的文件,有需要的可以下载,文件链接: 1. web3.js API官方文档中文版:https://pan.baidu.com/s/1hOV9hEzi7hFxJCL4LTvC6g 2. 以太坊官方文档中文版 :https://pan.baidu.com/s/1ktODJKLMBmkOsi8MPrpIJA 3. 以太坊白皮书中文版 :https://pan.baidu.com/s/1bzAFnzJ35hlQxJ2J4Oj-Ow 4. Solidity的官方文档中文版 :https://pan.baidu.com/s/18yp9XjEqAHpiFm2ZSCygHw 5. Truffle的官方文档中文版 :https:/...阅读全文

准备建设Go开发团队,欢迎喜欢Go的兄弟加入

公司:创业团队,公司已注册,拿到千万级别的天使投资,方向是O2O,具体领域涉及到商业模式,在这里不细说了,总之是一个还没有巨头的大市场,非常看好。 坐标:上海,长寿路上,靠近7号地铁线。 环境:办公环境高大上,开发人员配备rmbp,再加一个27寸显示器 待遇:1.5万,如果的确有料,还可以再谈,半年后可根据表现给予期权等激励。 准备用Go来做后端,采用微服务架构体系,欢迎喜欢Go的兄弟联系我...阅读全文

小米即时消息云 SDKMIMC

小米即时消息云MIMC:xiaoMI Messaging Cloud MIMC是小米自研的一种安全、可靠、易用的分布式IM云服务。为广大开发者提供免费快捷的即时通讯接入服务。MIMC基于多年小米通讯技术积累,让即时通讯不再复杂。 目前开发者可在PC端打开链接小米开放平台查看小米即时消息云的介绍和API接入文档,SDK下载等。 [https://dev.mi.com/console/appservice/mimc.html](https://dev.mi.com/console/appservice/mimc.html) ![image](https://static.oschina.net/uploads/img/201801/30142337_jLhU.jpg...阅读全文

开源项目 2018-12-05 11:30:02 网友

论go语言中goroutine的使用

go中的goroutine是go语言在语言级别支持并发的一种特性。初接触go的时候对go的goroutine的欢喜至极,实现并发简便到简直bt的地步。但是在项目过程中,越来越发现goroutine是一个很容易被大家滥用的东西。goroutine是一把双面刃。这里列举一下goroutine使用的几宗罪: 1 goroutine的指针传递是不安全的 fun main() { request := request.NewRequest() //这里的NewRequest()是传递回一个type Request的指针 go saveRequestToRedis1(request) go saveReuqestToRedis2(request) select{} } 非常符合逻辑的代码: 主routi...阅读全文

博文 2014-10-04 19:26:36 yjf512

【小米直招】小米HR直招Golang/C/C++

####由于业务发展的需要,小米数据中心急招 **Golang 开发工程师**,主要负责**后端开发**。 ##### **go 后台开发** - 任职要求: 1. 熟悉c/c++,有go开发经验更好; 2. 熟悉常用的数据结构和算法,有acm比赛经验优先; 3. 熟悉常用后台开发技术,了解分布式系统基本原理; 4. 代码功底扎实,知道如何寻找系统性能瓶颈以及优化方案; 5. 有风控意识,了解系统存在风险点及预防措施。 #####承诺:**期权和现金均为市场领先水平** #####联系方式: - 邮箱: wangchao_a@xiaomi.com - QQ: 1723388523 #####期待各位技术大牛加...阅读全文

golang x.(type) 用法

21天精品区块链课程免费学习,深入实战行家带路,助力开发者轻松玩转区块链! >>> golang中x.(type)只能在switch中使用 func MyPrintf(args ...interface{}) { for _, arg := range args { switch arg.(type) { case int: fmt.Println(arg, "is an int value.") case string: fmt.Println(arg, "is a string value.") case int64: fmt.Println(arg, "is an int64 value.") default: fmt.Println(arg, "is an unknown type....阅读全文

博文 2018-09-01 14:33:12 Robin3D

一份来自阿里云引擎ACE的求职信,你收到了吗?

尊敬的企业领导,个人站长、开发者们: 如果有个员工,可以把企业把70%运维的工作都干了,你们再也不用操心对操作系统、运行环境、应用中间件的安装、配置、优化、监控、升级等一系列繁杂的维护工作,可以专注精力在业务运营上,您是否会考虑录用他? 下图就是阿里云引擎ACE求职信,敬请查收! 详细了解ACE:http://www.aliyun.com/product/ace !![1111111.jpg](http://studygolang.qiniudn.com/151126/487be9e31756e7b913347e4f645e3023.png) 详细了解ACE:http://www.aliyun.com/product/ace...阅读全文

继续招募go的爱好者,组建强大go团队

公司:创业团队,拿到千万级别的天使投资,方向是O2O,具体领域涉及到商业模式,在这里不细说了,总之是一个还没有巨头的大市场,非常看好。 坐标:上海,长寿路上,靠近7号地铁线。 环境:办公环境高大上,开发人员配备rmbp,再加一个28寸4k显示器 待遇:因人而异,可以谈,半年后可根据表现给予原始股激励。 准备用Go来做后端,采用微服务架构体系,欢迎喜欢Go的兄弟联系我...阅读全文

Threeperson 2016年开发计划

春节前后感冒总是不见好,最近稍有好转,赶忙写了点功能,增加了简陋的首页、优化了一下部分功能url,功能有待完善。 下面罗列一下16年的[threeperson](http://www.threeperson.com)功能列表 * 首页完善 * 添加评论和回复 * 检索 * 用户首页 * 用户信息完善 * 收藏 * 人气排行 * 文章置顶 * 关注 * 被评论,被回复,被关注,关注用户上线,发帖提醒 * 主题功...阅读全文

Java开发者的Go之旅

Go, 也被称为Golang, 是由当前在谷歌工作的三位杰出开发者创造的一种编程语言. 它是一门非常新的语言, 2012年才发布1.0版本. 创造该语言的信念是因为C++成长的过于复杂而且臃肿, Go最初是为了吸引系统级的程序员. 却最受Python开发者和其它动态语言社区的的欢迎. Go是一门非常优秀的语言, 它提供轻量而简洁的语法, 能媲美高级语言, 加入了静态类型, 十分给力的并发支持, 原始性能可以媲美(类似于C/C++)低级别语言. Java在大规模和大团队的企业项目中是一门奇妙的语言, Java需要相当大的开销来开发和部署一个新的应用. 它冗长的特性不适合小型项目和一次性任务. 所有许多Java开发者拥有一门或者多门的语言作为后备语言去轻松应对其它的任务. 其它的语言经验能拓宽开...阅读全文

博文 2015-05-12 20:00:04 Chasel-Li

Go 1.5 实现自举、引入并发垃圾收集器

在经历了几个Beta版本和一个rc版本之后,Go 1.5终于正式发布了。这是一个很重要的版本,实现方面有很多变化。因为这个版本仍然遵循Go 1兼容性承诺,开发团队预计,所有的Go程序应该都可以和以前一样编译和运行。二进制和源码包已提供下载。 在实现方面,最大的变化有以下几点: 编译器和运行时是完全用Go语言编写的(还有少量汇编),实现了自举。实现中不再涉及C语言,所以构建时也就不需要C编译器了。 并发的垃圾收集器,可能的情况下,垃圾收集可以和其他goroutine并发进行,可以极大降低响应时间。 默认情况下,Go程序运行时的GOMAXPROCS会被设置为可用的核数,之前默认为1。 对internal packages的支持扩展到所有repositories,不再是仅供核心包...阅读全文

2017 年开发人员生态的状态:来自 jetbrains 调研 — Golang 是最有前途的编程语言

在 2016 年底和 2017 年初,我们调查了 5000 多名开发人员,以确定开发者生态系统状态。 Java 是目前最流行的开发人员主语言;JavaScript 是使用最广泛的语言;Golang 是最有前途的编程语言。 https://www.jetbrains.com/research/devecosystem-2017...阅读全文

【连载】GO语言系列1.Rockchip RK3288, GO!GO!!GO!!!

前言: 最近看了看Google的Go语言,发现有点意思,这个开源的项目准备用golang来实现。 其实开发板本身的驱动程序已经实现了各个功能,但是有的时候在使用中有些麻烦,有可能需要修改dts文件重新编译内核才能够使用某个功能,所以打算开发这个UIO驱动的开源项目,方便程序的编写。当然,UIO也不是万能的,比如中断,目前我还没有找到好的方法,可以完全抛开内核版本的差异导致需要重新编译驱动来提供中断消息。 按照惯例首先还是先从Go语言的介绍、开发环境的安装开始,然后稍微讲解下本项目所涉及到的Go的语法,后面再来看看整个工程的文件组成及各个库的使用方法。 由于瑞芯微的开发参考手册一般不对个人开放,但是经过天启科技公司(后文简称Firefly)的努力,公布了全部源代码 及 部分的文档,使开发能够顺...阅读全文

博文 2015-06-12 19:00:01 Firefly开源平台

GO语言圣经报个BUG

多年C、C++开发者,刚学GO 二天,目前对着GO语言圣经练习。 https://docs.ruanjiadeng.com/gopl-zh/ch1/ch1-03.html 发现示例程序dup3和dup2的执行结果不一致, 当输入的文件最后一行不是一个换行时。 gopl.io/ch1/dup3 ```go package main import ( "fmt" "io/ioutil" "os" "strings" ) func main() { counts := make(map[string]int) for _, filename := range os.Args[1:] { da...阅读全文

说出你最喜欢的开源项目,七牛和你一起去支持!

![](http://77fy2z.com1.z0.glb.clouddn.com/kaiyuan.jpg) 为进一步支持开源事业,七牛推出了“七牛开源项目扶持计划”,免费支持开源项目,为开源事业尽一份力量。 如果您建有开源项目站,或者参与了其他开源项目站的维护,您就可以申请加入“七牛开源项目扶持计划”。 **申请步骤如下:** ![](http://77fy2z.com1.z0.glb.clouddn.com/申请步骤.png) 同时,我们特别推出了“说出你最喜欢的开源项目,七牛和你一起去支持!”活动,只要是你喜欢的开源项目,七牛就会和你一起去支持!我们还会在每个月的第一个星期一从参与该活动的开发者中随机抽取3个幸运开发者,各送出七牛周边礼品1份。 了解...阅读全文

GO服务器程序员招聘

我们是上海趣鱼网络科技有限公司,主要经营网络棋牌游戏和休闲网络游戏。因为业务扩张需要现招聘GO服务器程序员 工作职责: 1. 能使用GO编写棋牌游戏的逻辑 2. 能使用GO完成棋牌平台的功能 3. 能根据需求完成后台工具开发 技能要求: 1. 掌握GO语言,熟悉常用package,熟悉计算机网络编程,熟练掌握Tcp编程,熟悉并熟练使用golang原生数据类型 2. 熟悉mysql等数据库,以及较好的操作系统基础和算法基础 岗位要求: 1. 工作经验,熟悉开发流程 2. 态度认真,对开发质量有自我要求 3. 能抗压,能主动推动开发进度 4. 身体健康,能和团队成员保持沟通交流 待遇条件: 1. 1~2年工作经验,有完整GO服务器项目经验的。薪资为15~2...阅读全文

Go 1.7 中值得关注的几个变化

零、从Release Cycle说起 从Go 1.3版本开始,Golang核心开发Team的版本开发周期逐渐稳定下来。经过 Go 1.4 、 Go1.5 和 Go 1.6 的实践,大神 Russ Cox 在 Go wiki 上大致定义了 Go Release Cycle 的一般流程: 半年一个major release版本。 发布流程启动时间:每年8月1日和次年2月1日(真正发布日期有可能是这个日子,也可能延后几天)。 半年的周期中,前三个月是Active Development,then 功能冻结(大约在11月1日和次年的5月1日)。接下来的三个月为test和polish。 下一个版本的启动计划时间:7月15日和1月15日,版本计划期持续15天,包括讨论这个major版本中要实现的主要功能...阅读全文

博文 2016-08-18 04:00:03 wming0523

Go语言开发工具 LiteIDE x5 release

The liteide x5 version for golang. LiteIDE is a simple, open source,cross-platform IDE. Version: x5 v0.78125 Website: http://code.google.com/p/golangide Download: http://code.google.com/p/golangide/downloads/list Source: http://code.google.com/p/liteide Features: Plugins Extension System File Based Build System Multi Build Environment System Kate S...阅读全文

博文 2015-06-17 20:12:39 visualfc

Go 多返回值

Go语言革命性地在静态开发语言阵营中率先提供了多返回值功能。这个特性让开发者可以从原来用各种比较别扭的方式返回多个值的痛苦中解脱出来,既不用再区分参数列表中哪几个用于输入,哪几个用于输出,也不用再只为了返回多个值而专门定义一个数据结构。 package main import "fmt" func vals() (int, int) { return 3, 7 } func main() { a, b := vals() fmt.Println(a) fmt.Println(b) _, c := vals() fmt.Println(c) } 123456789101112131415 package mainimport "fmt" func vals() (int, int) { ret...阅读全文