用GO实现的erlang的genfsm.

关于erlang的有限状态机,参考erlang四大behaviour之二-gen_fsm这篇文章。 有限状态机可以用下面这个公式来表达 State(S) x Event(E) -> Actions(A), State(S') 这两天正好空闲,就用golang实现了一下,话不多说,直接上代码 package util import ( "errors" "reflect" "sync" "time" "unicode" "unicode/utf8" "util/log" ) var typeOfE...阅读全文

CSDN博客 2014-07-08 12:49 sll1983

golang和java的http性能对比

公司要重构一个统计项目,统计部分要提供一个web收数的接口,因为统计系统的日志量十分大,所以对web服务的性能要求很严格,在技术选择的背景下做了golang和java的性能对比. 测试环境: mac pro 13.4.0 golang: go version go1.3.1 darwin/amd64 java: 1.7.0_71, 基于tomcat容器 测试工具 apache Ab工具: http://httpd.apache.org/docs/2.2/programs/ab.html 测试流程...阅读全文

开源中国博客 2015-01-12 23:27 dandy

golang中的匿名组合

确切地说,Go语言也提供了继承,但是采用了组合的文法,所以我们将其称为匿名组合:type Base struct { Name string}func (base *Base) Foo() {...}func (base *Base) Bar() {...}type Foo struct { Base ...}func (foo *Foo) Bar() { foo.Base.Bar() ...}以上代码定义了一个Base类(实现了Foo()和Bar()两个成员方法),然后定义了一个Foo类,该类...阅读全文

51CTO博客 2016-11-29 23:05:43 yeleven

Go 1.5 计划启动,使用 Go 来编译 Go

Go 项目组发布了 Go 1.5 的计划,Go 1.5 将使用 Go 1.4 进行构建,Go 源码树将完全消除所有 C 的代码。移除 C 编译器 (5c,6c,8c,9c)。剩下的 C 程序将转成 Go 语言,包括 Go compilers (golang.org/s/go13compiler), 汇编器和连接器(golang.org/s/go13linker) 以及 cmd/dist. 如果这些程序都采用 Go 编写,这会引发一个在完整构建源码的启动问题 —— 你需要一个可用的 Go 工具链来...阅读全文

ITEYE资讯 2015-01-09 cao345657340

golang 函数证明数组为 值类型 数据

package main import "fmt" func modify(arr [5]int) { arr[0] = 10 // 试图修改数组的第一元素 fmt.Println("In modify() arr values:", arr) } func main() { arrmain := [5]int{1, 2, 3, 4, 5} //定义并初始化一个数组 modify(arrmain) // 传递给一个函数,并试图在函数体内修改这个数组的内容 fmt.Println("In main...阅读全文

51CTO博客 2016-11-29 08:38:15 lijingsan1

Goclipse中运行Go语言程序的配置.

昨晚和今天一上午分别在Windows7、Ubuntu 12.04LTS和Mac OS X上尝试配置了下Go语言的开发环境,安装Go语言倒是都没遇到什么问题,就是在使用Eclipse的Goclipse插件开发Go语言的时候,一直Run不起来,原因就是源文件一直没有被编译。后来去认真读了下Goclipse的文档才发现原来是必须要将项目目录命名为cmd才可以。 这里只是简单介绍下利用Goclipse开发Go语言的注意事项,至于安装Go语言和配置Go语言的运行环境,网络上有太多的教程,这边就不再赘述。 ...阅读全文

CSDN博客 2013-11-28 15:47 hxd861030

简洁的GO语言,未来的语言趋势?

它的好其实也就两个字——简洁! 看很多朋友的留言都觉得这些“少个括号、少个分号”之类的东西没什么意义,真的吗?问题是,既然可以没有,为什么非得有?既然能够少打一个字符,为什么多打了还挺开心?还觉得天经地义?这里简单一点,那里简单一点,总的来说是不是就简单了很多?这里的设计简洁一点,那里简洁一点,是否整体就是紧凑高效? 很多东西,要整体去体会,才能感觉到真正的强大。没有前面这些语法上的各种“看起来没什么用”的支持,怎么能做到后面提到的那些设计上的简洁? 我坚信,少就是多,简单就是强大,不能减一分的...阅读全文

CSDN博客 2015-01-08 08:36 u013628152

Go fmt包 翻译 完毕

Fmt包 import "fmt" 简介 ▾ Package fmt包含有格式化I/O函数,类似于C语言的printf和scanf。格式字符串的规则来源于C但更简单一些。 输出 格式: 一般: %v 基本格式的值。当输出结构体时,扩展标志(%+v)添加成员的名字。the value in a default format. when printing structs, the plus flag (%+v) adds field names %#v 值的Go语法表示。 %T 值的类型的Go语法表...阅读全文

CSDN博客 2012-11-11 13:26 cometwo

golang中的类型系统

序:在Java语言中,存在两套完全独立的类型系统:一套是值类型系统,主要是基本类型,如byte int boolean char double等,这些类型基于值语义;一套是以object类型为根的对象类型系统,这些类型可以定义成员变量和成员方法,可以有虚函数,基于引用语义,只允许在堆上创建(通过使用关键字new)。Java语言中的Any类型就是整个对象系统的根——java.lang.Object类型,只有对象类型系统中的实例才可以被Any类型引用。值类型想要被Any类型引用,需要装箱(boxin...阅读全文

51CTO博客 2016-11-29 00:19:52 yeleven

go 语言学习历程

接触go是2012年的时候,真正开始系统的学习和开发系统是2014年了,go语言的学习也算自己2014年的重要工作之一,对go语言学习的总结,也算是年底总结之一 1.学习go的原因和动机: 1>先前做过2年Unix c开发经验, 对于C系的语言有特殊的感情,go特别适合我胃口,用过后爱不释手; 2>go语言团队太过耀眼和强大:Thompson 图灵奖获得者,unix 和C的共同发明人;Pike PLAN9操作系统的主要开发者、UTF-8发明者;Robert Griesemer 参与java的Ho...阅读全文

开源中国博客 2015-01-08 09:27 一曲忧伤

Golang学习(15)——Unicode utf16包

Golang学习 - unicode/utf16 包----------------------------// IsSurrogate 判断 r 是否为代理区字符// 两个代理区字符可以用来组合成一个 utf16 编码func IsSurrogate(r rune) bool// EncodeRune 将字符 r 编码成 UTF-16 代理对// r:要编码的字符// 如果 r < 0x10000 ,则无需编码,其 UTF-16 序列就是其自身// r1:编码后的 UTF-16 代理对的高位码...阅读全文

51CTO博客 2016-11-28 14:05:35 1160636144

docker搭建go开发环境

1、搭建私人仓库: 按照http://dockerpool.com/static/books/docker_practice/repository/local_repo.html执行; 2、创建镜像: 参照http://dockerpool.com/static/books/docker_practice/image/create.html 中的“利用Dockerfile”来创建镜像,以创建go开发环境为例如下: # This is a comment FROM centos:7 MAINTAI...阅读全文

开源中国博客 2015-01-07 18:12 shawn chen

Golang学习(14)——Unicode utf8包

Golang学习 - unicode/utf8 包----------------------------// 编码所需的基本数字const ( RuneError = '\uFFFD' // 错误的 Rune 或 Unicode 代理字符 RuneSelf = 0x80 // ASCII 字符范围 MaxRune = '\U0010FFFF' // Unicode 码点的最大值 UTFMax = 4 // 一个字符编码的最大长度)--------------------------------...阅读全文

51CTO博客 2016-11-28 14:01:01 1160636144

[ ECUG 专题回顾]《再谈 CERL:详论 GO 与 ERLANG 的并发编程模型差异》-许式伟

许式伟:我们开始,先介绍一下ECUG,从07年开始,最早在珠三角珠海广州深圳,在珠三角兴起,最早是Erlang的社区。大概到10年的时候更名为实时效云计算的群组,最早的时候也不局限于Erlang,而是会有各种语言如Haskell、Scala等..,其实根本就没有限制,只要是中途穿插后端开发运维的实践都可以,后来我们就正式改名为实效云计算的群组。,范围扩也蛮大到全国,基本上北京、长三角都有举办过。所以应该说到今天坚持了也差不多有8年,总共有9届,07年的时候办了2届。这个是ECUG 的历史。南京是...阅读全文

开源中国博客 2015-01-06 17:30 七牛云