【Go web开发之revel+mgo】第10章 总结

不知不觉,教程已经做完了,没有花多少时间,demo加起来也就3天时间的样子,教程的话,也就3个晚上,恩,总的来说这次尝试go还是挺有收获了,我之前很不喜欢类c类语言(包括c)这只是个人的原因(可能跟启蒙老师有关),请大家不要喷,我对于用c的人,都是抱着敬仰的态度。这次之后让我重新又对它感兴趣,当然这还要看以后的工作环境了。go看起来与c还是很相似的,不过我这个做web的人要求没那么搞,只要这门语言有相关的框架,而学习起来又是那么简单的话,我也是会花点时间去研究的。扯的远了,下一步做什么呢?老实说...阅读全文

CSDN博客 2014-04-26 15:34 jov123

为什么我要选择erlang+go进行服务器架构(1)

原创文章,转载请注明出处:服务器非业余研究http://blog.csdn.net/erlib 作者Sunface估计很多同学看到这里都会觉得迷惑,go的大名已经如雷贯耳了,但是erlang?这个东东是神马?难道是编程语言?怎么从来没听说过。这里请允许我先介绍一下使用Erlang开发的比较有名的应用:一:whatsapp 只凭32个技术人员,如何应付4.5亿的用户?对于刚刚被Facebook用190亿美元收购的WhatsApp来说,答案是Erlang——一种诞生于上世纪80年代的编程语言,终于在...阅读全文

CSDN博客 2014-04-20 12:19 abv123456789

go - 复合类型 array, slice, map

Go 语言支持复合类型: 数组:array 切片:slice 指针:pointer 字典:map 通道:chan 结构体:struct 接口:interface 1. array 同一类型数据的集合 var arr [n]type //声明type类型一维数组 var arr [m][n]type //声明type类型二维数组 多维数组以此类推 也可以用 := 声明 arr := [n]type{元素1[,元素2, ...]} 其中n可以用 "..." 三个点表示,系统会根据元素个数来确定 下标...阅读全文

CSDN博客 2013-07-03 12:52 chuangrain

[Go] --- map

Email : hahayacoder@gmail.com Go语言中有一种好用的数据类型叫map(映射),相当于C++中的哈希表,map用起来很简单,很C++中的使用大同小异,下面就通过实际的代码来演示Go语言中map的使用 package main import "fmt" func main() { //map哈希表 //使用map创建一个空的map string是键 int是指 m := make(map[string]int) m["one"] = 1 m["two"] = 2 m["...阅读全文

CSDN博客 2013-04-02 21:23 qiurisuixiang

Go-Five things that make Go fast-学习笔记

Dave Cheney 写了一篇文章 Five things that make Go fast 从 values, inline function, Escape analysis,Groutine,Segment And Copyings Stack 四个方面介绍了go中的go高性能的一些知识. 首先需要知道几个概念inline function 内联函数 本文会带一些相关讲解具体详情还请Google 变量 Go: var gocon int32 = 1024 占用四个字节 Python: ...阅读全文

CSDN博客 2014-06-09 00:59 u012807459

go编程之beego\orm使用

前面有提到go的mysql操作,但使用其进行数据库的操作封装,显然在实际的开发迭代中有几大问题存在,首先,sql操作及语句啰嗦而且复杂,其次工作效率也不是很高;如果使用此方法进行数据库开发,势必照成过多的代码冗余,且使用过程中容易产生各种问题。所以,今天我们一起来看看怎么使用beego下orm框架来辅佐我们进行mysql数据库操作。 orm即对象关系映射,通过类或者结构体与数据库表进行一一对应,今天我们通过简单的数据库操作代码来对照说明,且在代码中有对应操作的解释: import ( "fmt"...阅读全文

CSDN博客 2015-04-22 14:18 xixionedream

Go基础-map

// xuhh_go_map project /* 1.map的特点: a.map是go语言的内置引用类型,所以多个map指向同一个底层的情况下,一个值发生变化,全部发生变化 b.map是无序的,每次迭代的顺序都是不确定的。 c.map只有 len 没有 cap。 d.map不是线程安全的,在多个go-routine中使用的时候,要加锁。 e.map[key]value key 必须支持 运算符(== 、!= )的操作,例如 number/string/pointer/array/struct/...阅读全文

CSDN博客 2014-09-18 14:50 xuheazx

go lang中的import

 import 我们在写Go代码的时候经常用到import这个命令用来导入包文件,而我们经常看到的方式参考如下: import( "fmt" ) 然后我们代码里面可以通过如下的方式调用 fmt.Println("hello world") 上面这个fmt是Go语言的标准库,其实是去GOROOT环境变量指定目录下去加载该模块,当然Go的import还支持如下两种方式来加载自己写的模块: 1. 相对路径 import “./model” //当前文件同一目录的model目录,但是不建议这种方式来i...阅读全文

CSDN博客 2014-02-08 15:44 rznice

go作为web容器与php的性能比较

用go写了一个web程序,测了一把性能,发现结果如下: 并发数 响应时间(每100000个请求) 10 16.489387 100 20.43609 1000 51.357626 而php的同样程序,在fastcgi方式下,测试结果如下: 并发数 响应时间(每100000个请求) 10 62.194685 100 81.103587 1000 103.441608 结论:随着并发数的增大,go的处理能力波动比php还大。 看来go语言还需要很长的时间来完善呀。 如果利用runtime.GOMAX...阅读全文

CSDN博客 2010-11-03 14:48 HopingWhite

GO web之Hello world

GO语言不像php、java那样,需要使用apache、nginx、tomcat之类的第三方服务器,可以自身通过http包构建web服务器 package main import ( "fmt" "net/http" ) func sayhelloName(w http.ResponseWriter, r *http.Request){ fmt.Fprintf(w, "hello world,go web!!") } func main() { http.HandleFunc("/goweb.g...阅读全文

CSDN博客 2013-06-17 20:15 u010816280

Go by Example: Constants

Go语言支持 字符、字符串、布尔型和数字类型变量的常量。 package main import "fmt" import "math" //使用关键词const声明一个常量 const s string = "constant" func main() { fmt.Println(s) // 任意一个var声明可以出现地方都可以使用const声明 const n = 500000000 //常量表达式可以执行任意精度的计算。 const d = 3e20 / n fmt.Println(d) ...阅读全文

CSDN博客 2014-11-18 20:55 codemanship

go - struct类型

struct类型 1. 概述 与C语言struct一样,与java/php等class类似,在Go中,用于扩展类型,面向对象编程(本部分暂未做详细介绍)等 声明格式:(是类型的组合) type typeName struct { //... } 2. 声明及初始化 方法有几种: var varName typeName //① varName := new(typeName) //② varName := typeName{[初始化值]} //③ varName := &typeName{[初始...阅读全文

CSDN博客 2013-07-15 18:06 chuangrain

HelloWorld Go!

学习一门语言,总是先来一个HelloWorld,正如学习每一门乐器之初,先来一首妈妈的吻。 Go语言是通过Package来组织的,它自身只有25个关键字(比起其它的语言精简了好多吧),这些分别是:break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continue for import return va...阅读全文

CSDN博客 2014-06-13 10:44 lxhself

google吐槽帝翻译的开发语言比对

通天塔导游(译注:圣经记载:在远古的时候,人类都使用一种语言,全世界的人决定一起造一座通天的塔,就是巴别塔,后来被上帝知道了,上帝就让人们使用不同的语言,这个塔就没能造起来。 巴别塔不建自毁,与其说上帝的分化将人类的语言复杂化,不如说是人类自身心灵和谐不再的分崩离析。之所以后来有了翻译,不仅是为了加强人类之间的交流,更寄达了一种愿望,希望能以此消除人际的隔阂,获求来自心灵的和谐及慰藉。真正的译者,把握血脉,抚平创痕,通传天籁,开启心门。)这是我写的旋风式的编程语言简介—我本来为亚马逊开发者杂志本...阅读全文

CSDN博客 2012-06-07 22:54 teamlet

学习Golang语言(1)

想了很久准备学习一门新的语言,纠结了很久,最后选择了go语言。今天开始进入go语言的学习。 1、下载go http://www.golangtc.com/download 2、下载liteide http://www.golangtc.com/download/liteide 3、开始编程 学习任何编程语言的第一个程序都是Hello world。在GOPATH目录下建立hello.go文件,输入下面内容。 package main import "fmt" //引入fmt库 func main(...阅读全文

CSDN博客 2014-11-27 23:27 lz0426001

学习Golang语言(3)

变量声明 Go语言不同于其他语言的地方在于:变量的类型在变量名之后。例如: C中: int a;而在Go中:var a int。 此外,Go语言在定义变量时候如果没有赋值,则为该变量赋值为其类型的零值。 变量声明有两种方式:使用var关键字;或者使用:= 操作符赋值。 例如: var number int //声明变量number为int数据,此时默认复制为0 number := 2 //直接声明变量number,同时赋值为2 注意 使用 := 操作符声明变量和其初始值,不必明确指明变量类型,因...阅读全文

CSDN博客 2014-11-30 00:07 lz0426001

go - 函数

函数 1. 格式 func funcName(形参1 type[, 形参2 type...]) [([[返回变量1] type[, [返回变量2] type...]])] { [return [返回变量1[, 返回变量2...]]] } a. 如果形参类型都一样,可以这样写: 形参1, 形参2 type, 同时返回变量也一样 b. 如果只有一个返回值或者无返回值, 可以去掉对应的() c. 如果返回有返回值,该函数中最外层要有return语句 d. 返回语句(), 返回变量名可以省略 e. []...阅读全文

CSDN博客 2013-07-10 18:12 chuangrain

go解析XML

XML作为一种数据交换和信息传递的格式已经十分普及。而随着Web服务日益广泛的应用, 现在XML在日常的开发工作中也扮演了愈发重要的角色。这一小节, 我们将就Go语言标 准包中的XML相关处理的包进行介绍。 这个小节不会涉及XML规范相关的内容(如需了解相关知识请参考其他文献),而是介绍 如何用Go语言来编解码XML文件相关的知识。 假如你是一名运维人员,你为你所管理的所有服务器生成了如下内容的xml的配置文件: <?xml version="1.0" encoding="utf-8"?> Sh...阅读全文

CSDN博客 2013-07-07 22:07 abao2123

使用nc和go做简易测速服务器和客户端

这几天公司需要测试一下几家IDC的速度,由于需要找别人帮忙进行测试,因此需要尽可能搞的简单,于是就用go语言写了一个windows客户端。为啥用go呢?因为java需要jre,太大了;c++需要对应的库支持,写这个东西太麻烦,其他的语言都有类似的问题,而go做这些事情很简单,几行代码就搞定了,而且由于它完全是静态编译的,因此只要编译一个32位,一个64位即可,支持任何windows平台。 而服务器端,用nc简单搭一个完事 比如上传就可以用如下命令 nc -l 3344 >/dev/null 下载...阅读全文

CSDN博客 2012-03-20 20:40 HopingWhite

从JAVA转学习Go——Go在eclipse的环境搭建

因为go的协成高并发吸引了我。 而且是google的语言。我相信他在以后发展也很不错。所以就过来学习一下。 当然语言这个东西是虚的。主要的还是对于编程思维的理解。 所以我不推荐刚刚学习完一门语言的语法,又去学习另外的。最好是在一门语言上花上足够多的时候来研究。主要还是研究编程的模式思维。 好了不扯远了。说说go在eclipse上的搭建吧。 1.就像java 首先得有jdk一样。先安装go语言包。下载地址:http://code.google.com/p/go/downloads/list?q=O...阅读全文

CSDN博客 2014-04-04 18:18 u012565107