【翻译】Gob 的数据

原文在此:http://blog.golang.org/2011/03/gobs-of-data.html,来自 Golang 官方博客。 Gob 是 Golang 的包中带的一个数据结构序列化的编/解码工具。在实际应用中,已经有不少的编解码工具/包/库了,为什么 Golang 还要新开发一个 Gob?又是一个重复的轮子?Gob 做了哪些工作?Gob 的优势是什么?本文做了一个较为全面的解释。 —————-翻译分割线—————- Gob 的数据 为了让某个数据结构能够在网络上传输或能够保存至文件...阅读全文

mikespook 的博客 2011/03/29 mikespook

【翻译】Godoc:文档化 Go 代码

各位童鞋,愚人节好!由于鄙人愚钝,过不了这种高端节日,所以就不过节了。 所以今天即不会有鄙人要改名叫 mikeghost 的消息,也不会有诸如在 Android 上跑 iOS 应用的消息出现,当然,大家更不需要穿越的有木有来阅读本文。 生活还要继续…… 原文《Godoc: documenting Go code》在此:http://blog.golang.org/2011/03/godoc-documenting-go-code.html —————-翻译分割线—————- Go 项目对待文档的...阅读全文

mikespook 的博客 2011/04/01 mikespook

Learning Go 中文版本《学习Go语言》

是的,你没看错,这就是 Learning Go 的中文版本。在我踌躇许久之后,终于决定将这个坑挖下去了。 项目页面在这里:《学习Go 语言》 现在的翻译进度大约10%,也就是完成了第一章和部分第二章内容。 我对 LaTeX 知之甚少,所以排版还没时间去调整。 第一阶段目标是同步翻译英文版本,并跟进英文版本的后续修改。 第二阶段目标待 Go 语言相对稳定后,根据中文表达习惯重新调整内容和表达方式。 大体如此吧…… 为了大家省心,也为了充实内容,把页面引用于此吧: 这是关于来自Google 的Go ...阅读全文

mikespook 的博客 2011/04/11 mikespook

高速数据同步服务器——Doozer

昨天在讨论平台新架构的时候,还在说要搞个配置管理的服务出来,方便接口的管理。然后今天就看到了这个……人品爆发了吗? 好吧,不扯淡,直接翻译 Doozer 的 README 吧。Doozer 我还没实测,不过感觉,如果真得像 README 上面说得那样,还是很有用,很有用的。 关键——这个玩意提供了 go 的接口。(补充一点,忘了说了,这个是用 go 开发的) 项目代码托管于此:Doozer。 ———————-翻译分割线———————- Doozer 这是什么? Doozer 是高可用的,完整一致...阅读全文

mikespook 的博客 2011/04/14 mikespook

网络原因引起的 Golang 编译错误

由于众所周知的原因,强大的 GFW 会引起 Go 语言编译时在对DNS相关进行测试时失败。当然如果人品不错,没有公网连接,不受GFW的影响……还是会在网络相关的那部分包的测试中失败。导致无法正常安装 Golang。 错误信息类似如下形式: ... test math test mime test mime/multipart test net TEST FAIL net make[1]: Entering directory `/home/mikespook/bin/go/src/pkg/net...阅读全文

mikespook 的博客 2011/04/16 mikespook

【翻译】gofix 介绍

对于一个不稳定的语言,删删改改什么的都是常事。即便是稳定的语言,也逃不过隔三差五整修一下的命运。于是 Golang 大修是个麻烦。 用 Golang 的好处是你正在使用世界上最聪明的一群科学家和工程师的杰作。于是,升级这些麻烦事变得不那么麻烦了,因为有了 gofix。 原文在此:http://blog.golang.org/2011/04/introducing-gofix.html ——————————-翻译分割线——————————- gofix介绍 下一个 Go 的发布版将会包含多个官方 ...阅读全文

mikespook 的博客 2011/04/20 mikespook

扯淡 erlang 的“适合”和“不适合”

现在在体系内大力推广erlang了。不过挺遗憾的是,推行 erlang 前并没有对这个语言自身进行深入的论证和研究,只是由核心人员写了一个简单得不能再简单的 demo,在项目里用了一个开源的 erlang 项目。从工程的角度来说,这是不靠谱的,为了让 erlang 的使用更加靠谱,所以在这里扯淡一下。资料来源于erlang官方和我的猜测,对不对由我,信不信由你。 先看来自 erlang FAQ的内容(自己随手翻译的,不一定准确,可看原文:http://www.erlang.org/faq/int...阅读全文

mikespook 的博客 2010/02/26 mikespook

关于Web编程异步模型的白日梦

早上刷牙,处于半睡状态。突然想起昨天晚上看到的那个 go-lang 的 MVC 框架,若使用 go func() 方式异步获取数据,应当是不错的。窃喜……梦醒…… 在地铁上被前前后后那些特种男女逼到车角,无奈。又想起早上那个白日梦,遂上网搜索了一番。得老赵的佳作一篇《F# 与ASP.NET(1):基于事件的异步模式与异步Action》。之前看过,由于对微软无爱,未能细品。今日一读,如醍醐灌顶,豁然开朗。 遂整理思路如下,以待后用。 在说异步模型之前,先说说最常见的同步模型吧。例如下面的 PHP ...阅读全文

mikespook 的博客 2010/05/27 mikespook

[翻译]Go语言开发苹果推送通知

原文在此:http://bravenewmethod.wordpress.com/2011/02/25/apple-push-notifications-with-go-language/ 前两天正巧看到 APNS 没有 Go 的实现,还在琢磨怎么实现一个试试,这下我又省心了。文章本身并不怎么出色,代码倒是有些用途。翻译这篇东西纯粹是为了给自己后面的工作留个资料。大家有用则用,无用就无视吧。 ————–翻译分割线————– Go语言开发苹果推送通知 我开始尝试学习并熟悉 Go 语言,并且做了一些...阅读全文

mikespook 的博客 2011/03/02 mikespook

Go推出Go Playground ,在浏览器上运行Go语言

Go Playground 是一个运行在golang.org 的服务器上的Web服务,允许任何人在浏览器上写代码,利用 golang.org 的服务器即时编译,并在沙盒内运行该程序。 开发者希望此举能让感兴趣的程序员在安装 Go 语言之前能先尝试下,体验下 Go 的妙处。使用沙盒运行程序的目的是防止有人写一些恶意的代码。 点击查看详情:http://golang.org/doc/playground.html阅读全文

ITEYE资讯 2010-09-17 10:23 just_cool

谷歌 Go 语言迎来三岁生日

谷歌Go语言近日迎来了3周岁生日。谷歌在2009年11月首次宣布推出Go语言项目,截止到今天,已有数百个外部贡献者加入并参与贡献,也有大量的组织或机构开始转向Go语言,其中包括BBC Worldwide、 Canonical、CloudFlare、Heroku、Novartis、SoundCloud等。谷歌自己也使用该语言开发了一些Web应用程序以及Doodles等。 Go语言结合了动态语言易于编写的特性和静态语言的高效性,最初定位于网络服务器、存储系统和数据库的程序设计,同时在语言中包含并发构...阅读全文

ITEYE资讯 2012-11-13 14:13 wangguo

谷歌发布 Go 1.1 正式版本

谷歌Go语言开发团队今天发布了1.1正式版本。 Go是谷歌于2007年9月启动设计的编程语言,最初定位于web服务、存储系统和数据库的程序设计,同时在语言中包含并发构造体,以帮助开发者创建并行任务。Go将动态语言易于编写的特性和静态语言的高效性相结合,具备良好的易用性和极佳的执行效率。 与1.0版本相比,该版本的主要改进如下: 1. 性能改进 与1.0版本相比,该版本对编译器和链接器、垃圾回收、goroutine(Go语言的并发机制)调度、map实现、部分标准库进行了优化,基于该版本构建的Go代...阅读全文

Go 语言的高级并发模式

Go语言的一个很大的优势就是内置了goroutine机制,使得开发者可以方便地编写并发程序。 在去年的Google I/O大会上,Go语言开发团队成员Rob Pike介绍了Go的并发模式。如今该语言已经到达了1.1版本,性能和安全性较之以前更加完善。在本月举行的I/O 2013上,团队成员Sameer Ajmani带来了更高级的Go语言并发模式演讲,以帮助开发者更深入地了解Go语言的并发编程问题。 你可以通过这个幻灯片来查看:https://talks.golang.org/2013/advco...阅读全文

ITEYE资讯 2013-05-27 17:43 wangguo

使用Golang实现的快速排序

一、舞动的快速排序 在实现排序算法前,先让我们来欣赏一段关于快速排序的视频,本段视频展示了快速排序的原理,如果没有看懂,请看完本文后再回头来看一下,应该就明白了吧。 O(∩_∩)O~ 二、快速排序实现 2.1 快速排序基础版 通过下面一组数据,将最左边的数设定为轴,并记录其值为 s。 (注意:*表示要交换的数,[]表示轴) [41] 24 76* 11 45 64 21 69 19 36* [41] 24 36 11 45* 64 21 69 19* 76 [41] 24 36 11 19 64...阅读全文

ITEYE资讯 2014-09-10 14:04 u012797015

Go 1.3 Beta1 发布,支持谷歌 NaCL

Google今天发布了Go语言1.3 beta1版本。 Go 1.3并没有引入新的语言功能,只是进行了一些功能改进,并解决了该语言中的一些bug和用户的反馈。 Go 1.3的主要改进如下: 显著改进了链接器和编译器,可以更快地编译程序,尤其是大型应用程序。 Go编译器生成二进制代码的性能得到了改善,内存占用更少,现在有一个更快、更高效的垃圾回收器,以及一个重写的正则表达式处理程序。 新增了4个支持平台:Oracle Solaris、Plan 9、FreeBSD、Google的NaCL(Nativ...阅读全文

ITEYE资讯 2014-04-24 11:35 wangguo评论(4)

Go语言安装

Go语言下载地址:http://tip.golang.so/dl/;googlecode上不去了,golang.org也上不去,反正只要是谷歌的网站在中国都看不到了,只能下载这个了,不过我比较了一下,和golang.org里的一样。 我用的系统是ubuntu14.04,可以用apt-get: sudo apt-get install golang 不过我安装了一下版本好像时1.2,果断放弃编译安装1.3 下载好自己所用系统平台的安装包,windows有msi安装包,相对简单一点,安装完成后只要在...阅读全文

ITEYE博客 2014-08-07 11:34 guhao022

Go语言函数

函数是Go语言里面的核心设计,它通过func来声明,函数可以有一个或者多个参数,每个参数后面都要带有类型,通过“,”分隔,可以返回多个值,函数的格式为: func funcName(input1 type1, input2 type2)(output1 type1, output2 type2){ //处理逻辑代码 //返回值 return value1, value2 } 返回值声明了两个变量output1和output2,如果不想声明也可以,但是要保留两个类型声明 如果只有一个返回值且不声明...阅读全文

ITEYE博客 2014-08-07 11:36 guhao022

Go 1.3 正式发布,支持谷歌 NaCL

Google今天发布了Go语言1.3版本。新的版本改进了一些功能,支持在新环境中运行,显著改进链接器和编译器等,提供了更好的性能。目前,用户可以下载安装了。 主要改进包括: Godoc,Go文档服务器,目前支持静态分析;支持查看文档包、资源视图功能,查看文档细节; 支持Native Client(NaCL)虚拟机架构; 支持平台包括:DragonFly BSD、 Plan 9、 Solaris操作系统,查看安装资源; Go编译器生成二进制代码的性能得到了改善;提升垃圾回收机制;一种新的“ con...阅读全文

ITEYE资讯 2014-06-20 11:01 newer7

Go 语言的 10 个实用技术

这里是我过去几年中编写的大量 Go 代码的经验总结而来的自己的最佳实践。我相信它们具有弹性的。这里的弹性是指: 某个应用需要适配一个灵活的环境。你不希望每过 3 到 4 个月就不得不将它们全部重构一遍。添加新的特性应当很容易。许多人参与开发该应用,它应当可以被理解,且维护简单。许多人使用该应用,bug 应该容易被发现并且可以快速的修复。我用了很长的时间学到了这些事情。其中的一些很微小,但对于许多事情都会有影响。 所有这些都仅仅是建议,具体情况具体对待,并且如果有帮助的话务必告诉我。随时留言:) ...阅读全文

ITEYE资讯 2014-08-27 10:59 u012797015

产品环境中Go语言的最佳实践

在SoundCloud,我们为客户构建了产品的API。或者说,我们主要的网站、手机客户端和手机应用是该API的第一批客户。该API背后是一个领域性的服务:SoundCloud基本上以面向服务体系结构的形式运作。 我们也是通晓多种语言的组织,因为我们使用了很多语言。并且这些服务(和基础设施支持)的许多部分是使用Golang开发的。事实上,我们都是早期Golang的使用者:目前,我们已在产品中使用Golang有两年半的时间。相关项目包括: Bazooka,我们内部服务平台;产品思想非常类似于Kero...阅读全文

ITEYE资讯 2014-09-01 10:01 u012797015