Java程序员快速入门 go 语言

这篇文章帮助Java程序员快速入门Go语言。 本文将以一个有代表性的例子为开始,以此让Java程序员对Go语言有个初步认识,随后将详细的描述Go语言的各个构成模块,最后以一个例子来讲解Go语言与Java语言的不同点。 yale8848翻译于 1 年 前 1人顶 ...阅读全文

开源中国翻译 2014-10-04 19:25:56 赵亮-碧海情天, yale88 等

go 的升级

我原来是用压缩包安装的。听说 go 升级还要先卸载掉原来的版本,一时不知道怎么卸载。 到了go 官网上下载了 go1.1.1.windows-386.zip 后,想了一下,直接解压覆盖在原来 go 的安装目录上,启动,测试发现正常。 然后启动了一下 liteide,发现一下子比原来快非常多。几乎是刷一下就出来了。看来这次升级 go 的性能果然调整了很多。接着再把 liteide 下载了压缩包,同样覆盖原来的安装,也直接升级了。阅读全文

开源中国博客 2013-07-14 22:41 Tom-Lin

go protobuff

Go使用ProtoBuff 发现Google Code上面有针对Go语言的Protobuff实现 code.google.com/p/goprotobuf 下面说下安装过程: go get code.google.com/p/goprotobuf 之后提示no Go source files 执行 go install code.google.com/p/goprotobuf/proto 在Go的安装目录pkg下产生对应路径的proto.a文件 执行 go install c...阅读全文

开源中国博客 2012-12-03 11:36 悠米海

从例子中学习 go 语言 —— 基本语法

go 语言或是 golang 官网上有个 tour。从例子中学习一门语言虽然具有片面性,但是往往是一个入门的好方法;如果一开始就去是看手册的话,有些凌乱,摸不着头脑,有点看字典的味道。所以,先从例子中学习,然后再系统的学习,应该是个不错的方法。 本篇文章基本按照 tour 的步骤,跑跑例子,从例子中去猜测/分析 go 的语法以及结构等,一定程度上可以锻炼一下,观察和分析能力。 hello,world: package main   import "fmt"   func mai...阅读全文

CSDN博客 2013-06-03 13:19 wuwenxiang91322

go中iota的用法

先上代码,结果是什么? package main               import (     "fmt" ) const (     i=1<<iota     j=3<<iota     k     l ) func main() {   fmt.Println("i=",i)   fmt.Println("j=",j)   fmt.Println("k=",k)   fmt.Println("l=",l) } 输出: i= 1 j= 6 k= 12 l= 2...阅读全文

开源中国博客 2012-07-13 00:17 dandan.fs

读生产环境下go语言最佳实践有感

最近看了一篇关于go产品开发最佳实践的文章,go-in-procution。作者总结了他们在用go开发过程中的很多实际经验,我们很多其实也用到了,鉴于此,这里就简单的写写读后感,后续我也争取能将这篇文章翻译出来。后面我用soundcloud来指代原作者。开发环境在soundcloud,每个人使用一个独立的GOPATH,并且在GOPATH直接按照go规定的代码路径方式clone代码。$ mkdir -p $GOPATH/src/github.com/soundcloud $ cd $GOPATH/...阅读全文

CSDN博客 2014-05-12 11:01 siddontang

Go语言调用C语言函数的坑

最近在看人民邮电出版社 许式伟 吕桂华编著的《Go语言编程》,看到【1.2.9 语言交互性】小节的cprint.go。未按照书中源代码格式编写,而是把 import "C" 和 import "unsafe" 合并放入小括号中并和注释结束符 */ 间隔了一行,这也是大多数Go语言学习和开发者经常使用的代码风格,我修改后的代码如下:package main/*#include <stdio.h>#include <stdlib.h>*/import ( "C" "unsafe")func main...阅读全文

51CTO博客 2014-12-07 22:00:59 dongsong1117

go语言介绍

Go 是 google 在 2009 年推出的系统编程语言,2013 年 5 月 13 号 发布 Go 1.1 版本。Go 语言虽然现在不是很流行,但是很多人都看好它,O__O"…。NodeJS 也是新出的技术(貌似也是 2009 年出来的),不过 JavaScript 语言的历史相对就长了些;Python 很火。有次分享会上一个人说,JS 是屌丝逆袭的语言,go 才是高富帅 !~~~~(>_<)~~~~ Go 到底有神马过人的优点? 简单易学:g...阅读全文

开源中国博客 2013-07-08 10:12 zjushawnelee88

golang--gorilla/context,golang之单例模式

gorilla是用golang写的web工具箱,里面提供了一系列的工具。在用golang开发web中,搭配gorilla可以加快整个开发的进程。gorilla的官网在这里,代码托管在github,这里要看的是gorilla/context。 在context文件夹里面,有个context.go文件,里面就是context包主要的代码。 在context.go的开始部分,声明了几个全局变量, var ( mutex sync.Mutex data = make(map[*http.Request...阅读全文

博客园 2013-04-17 08:15 getong

golang

上次去ECUG听了一次讲座,了解到这世界上还有一门go语言。最近抽时间学了一下,很优秀的一门语言。 公司有一个框架,是用c++实现了协程的调度。用它实现“服务节点”非常方便。今天终于把框架里面节点之间是如何 通信的部分搞懂了。调度的部分还不是特别清楚,正好go实现了调度这部分的功能。所以,计划用go实现一个通用的框架, 来更快速的开发服务。 先把基本思路写在这里。 go中的协程是用chan(管道)通信的,所以可以借鉴actor模式。 1:每个协程有一个GID,用户可以找到这个协议。 2:每个协程...阅读全文

博客园 2011-12-04 21:58 xloogson

go install 的工作方式

go install 是Go语言提供的非常方便的编译工具。但是最近在项目使用过程中遇到一些问题,在这里记录一下。 问题 通常情况下,修改了代码之后使用go install编译,运行,都能得到正确的结果。 但是有时候发现,修改了源代码,却没有被重新编译,于是导致许多诡异的问题。 为了弄清楚这个问题,下面用一个简单的例子来做个实验。也顺带把go install的工作方式简单介绍一遍。 简单的代码 现在有一个名叫hello的项目,目录在/tmp/gomain/src/hello/hello.go pa...阅读全文

CSDN博客 2014-08-13 11:18 tiaotiaoyly

golang-china

golang-china - Go 语言中文翻译项目 - Google Project Hosting翻译任务安排2010年12月:command 2011年01月:pkg部分 发布:Go语言文档初稿 认领任务、翻译进展、检验、疑问等,请邮件讨论 golang-china@googlegroups.com中文文档翻译进度 标题状态进度翻译者校验者Install Go(安装Go环境)初译done完成chaishushanGo Tutorial(Go语言入门教程)初译done完成Bian Jiang...阅读全文

博客园 2012-05-22 10:22 lexus

在go中使用json作为主要的配置格式

最近在用go重构,在先前的代码中,我们使用的ini文件进行配置,但是因为很多历史遗留问题,导致配置混乱,维护困难,自然也需要考虑重构了。 通用配置格式 通用的配置格式有很多,常用的就有ini,json,yaml,xml等,当然为了通用我们不考虑自定义的配置格式。那如何选择呢? 首先,xml我们就不用考虑了,到现在为止我都没觉得用这玩意配置起来有多方便,反而很臃肿,可能java系的童鞋会比较青睐。 再来考虑ini,ini文件对于简单应用的配置可以说是非常方便的,如果配置没有太多的层次结构,使...阅读全文

CSDN博客 2014-04-13 11:54 siddontang

go语言代码测试

在go的pkg库里提供了一个单元测试的框架testing,并提供了一个测试工具gotest   规则如下: 如果我们有一个文件add.go,这其对应的测试文件名为add_test.go 在add_test.go中,引入testing库,然后添加测试方法 测试方法的函数必须是如下形式 func TestXXX(t *testing.T) { //.... } 而且其中第一个'X'还不能是小写字母,如果在测试方法中调用了testing库中的T类的Error,Fail,Fatal等方法则表示发生错误...阅读全文

CSDN博客 2010-04-17 12:34 dux003

emacs + gocode 让编写go语言更加给力

首先在这里我要感谢 dataangel (qq:996421165) 童鞋。个人领悟能力比较差,但他还是耐性教导。这里呢只是吧自己接触go语言的遇到的问题。安装配置环境,编写代码环境 跟编译环境配置做一个整合。希望能给学习go语言的友友带来便利。 我使用windows版下编写。其他系统未配置过。有空配置的话,会继续写博客~~!刚刚开始学写博客写的不好还望多多包涵。         go语言群:102319854 一些常用链接: http://golang.org/                ...阅读全文

CSDN博客 2011-04-04 12:11 qq358860528

windows下用eclipse+goclipse插件+gdb搭建go语言开发调试环境

目前go语言在window或者linux操作系统上,最好的go语言开发调试环境都是由eclipse+goclipse插件+gdb搭建的。如果你还没有搭建好go语言的开发环境,请参考这篇博文《windows下Go语言的安装和开发环境搭建》。 一般大家用eclipse都是开发java,如果要开发go,那就得安装goclipse插件了,这样才能有代码高亮、自动编译、联想提示、跳转到函数定义等丰富功能;如果还想要调试的功能,就还得有gdb;如果你还想引入github上的开源库,那还需要git客户端。下面...阅读全文

CSDN博客 2014-05-07 10:49 mecho

深入学习golang(2)—channel

Channel 1. 概述 “网络,并发”是Go语言的两大feature。Go语言号称“互联网的C语言”,与使用传统的C语言相比,写一个Server所使用的代码更少,也更简单。写一个Server除了网络,另外就是并发,相对python等其它语言,Go对并发支持使得它有更好的性能。 Goroutine和channel是Go在“并发”方面两个核心feature。   Channel是goroutine之间进行通信的一种方式,它与Unix中的管道类似。 Channel声明: ChannelType =...阅读全文

博客园 2014-10-02 00:05 hustcat

深入学习golang(1)—数组与切片

数据(array)与切片(slice) 数组声明: ArrayType   = "[" ArrayLength "]" ElementType . 例如: var a [32] int var b [3][5] int   在Go和C中,数组的工作方式有几个重要的差别。在Go中, (1)数组是值类型。将一个数组赋值给另一个,会拷贝所有的元素。 (2) 如果你给函数传递一个数组,其将收到一个数组的拷贝,而不是它的指针。 (3)数组的大小是其类型的一部分,类型[10]int和[20]int是不同的。...阅读全文

博客园 2014-09-30 21:27 hustcat