随笔分类 - [86]golang
-
Go语言知识积累——特点简介与windows开发环境搭建
摘要:Go语言知识积累——特点简介与windows开发环境搭建缘起看到一篇文章,讲述如何将服务器从30台降到2,性能甚至更加优秀。文章中介绍了完成这一出色任务的语言为Go,于是对Go语言产生了兴趣,逐步了解到这还是一门比较新的语言,且潜力很足。所以展开了研究之旅~特点简介:1.引入轻量级线程——协程(coroutine),Go语言中叫goroutine。2.采用Erlang风格的并发模型,即消息是进程间唯一的通信方式(而非共享内存)。两个goroutine之间通信通过channel(通道)进行。3.对代码风格进行了强制统一,比如public变量必须以大写字母开头,private变量必须以小写字母开头 阅读全文
-
golang--从类型转换角度看interface
摘要:golang--从类型转换角度看interface刚开始接触golang,可能对interface的使用有些迷惑,尤其在有些资料里,介绍得更是云里雾里,让人搞不清楚。本文尝试从类型转换的角度来解析interface,希望对大家能有所帮助。不多说,先上代码。package mainimport ( "fmt")func main() { var general interface{} general = 6.6 type_cast(general) general = 2 type_cast(general)}func type_cast(general in... 阅读全文
-
Go小tip
摘要:Go小tipgo一些“隐藏库”code.google.com上有一些分支有的是还没合并到default上的函数功能比如net/websockethttp://code.google.com/p/go/source/browse?repo=net#hg%2Fwebsocket这些库可用性都很高,很适合直接使用如何为go添加补丁http://golang.org/doc/contribute.htmlCmd的三个运行:func(*Cmd)Startfunc(*Cmd)Runfunc(*Cmd)WaitStart:运行不等待进程结束Run:运行等待进程结束Wait:等待进程结束就是说Run = St 阅读全文
-
go语言编写Web程序
摘要:go语言编写Web程序1. 简介这个例子涉及到的技术:创建一个数据类型,含有load和save函数基于http包创建web程序基于template包的html模板技术使用regexp包验证用户输入使用闭包假设读者有以下知识:基本的编程经验web程序的基础技术(HTTP, HTML)UNIX 命令行2. 开始首先,要有一个Linux, OS X, or FreeBSD系统,可以运行go程序。如果没有的话,可以安装一个虚拟机(如VirtualBox)或者 Virtual Private Server。安装Go环境: (请参考 Installation Instructions).创建一个新的目录, 阅读全文
-
Go知识点记录
摘要:import包命名import的包可以给它命名import l4g "code.google.com/p/log4go"testing的Error和Fatal的区别Error : Log() + Fail() 即记录当前错误,记录为失败,但是继续执行Fatal : Log() + FailNow() 即记录当前错误,记录为失败,不继续执行path.Clean使用path.Clean用于对路径http://www.cnblogs.com/等进行过滤,在创建修改文件的时候需要使用到,否则会有漏洞go list all 能列出所有的包go build的时候的错误分析如果出现:wa 阅读全文
-
聊天室
摘要:聊天室聊天室应用程序示例如下:使用channel来实现一个聊天室(pub-sub模式),俗称的发布-订阅模式使用Comet和Websockets应用程序的文件结构如下:chat/app/ chatroom # Chat room routines chatroom.go controllers app.go # The welcome screen, allowing user to pick a technology refresh.go # Handlers for the "Active R... 阅读全文
-
Go关系型数据库持久化
摘要:Go开源项目 - gorp使用方法2013-01-17 10:25 by Danny.tian, 618 阅读,5评论,收藏,编辑gorp是一个Go开源ORM框架.Go关系型数据库持久化我很含糊的称gorp是一个ORM框架. Go还没有真正的对象, 至少没有一个经典的感觉和Smalltalk/Java一样的,这是"O". gorp不知道任何你struct之间的关系(以后会实现,现在还在TODO list中). 所以"R"也是有质疑的(但是我使用这个名字,因为感觉上更贴切)."M"是没有问题的. 给定一些Go结构和一个数据库, gorp 阅读全文
-
go语言:go写的日记簿(开源)
摘要:go语言:go写的日记簿(开源)博主今天花了2小时多写了个日记簿程序,也证明go语言开发东西很快速。所以现在分享这个golang语言编写的本地日记簿,欢迎golanger一起交流学习。在压缩包里面的ReadMe.md里面有使用说明。同时源代码也在里面。没有什么精髓,哈哈。目前在一家公司做服务器性能。有木有同行,来顶顶。。。也可以到http://code.google.com/p/go-note/downloads/list下载代码。12 2012 档案go语言:go写的日记簿(开源)摘要: 博主今天花了2小时多写了个日记簿程序,也证明go语言开发东西很快速。所以现在分享这个golang语言编写 阅读全文
-
go语言学习:web服务器 golang版
摘要:这是一款用golang写的web服务器,严格说,是文件服务器。个人主要用于一些项目在服务器上的日志提取,暂时叫它gws(go web server),它支持目录配置,保证服务器的安全性,当然,您也可以改造它,加入一点账号的验证。源码中,使用了mux,进行路由分发,现在把它开源出来,代码写得简单,这也是golang带来的非常大的好处。google code 地址:http://code.google.com/p/golang-web-server/欢迎大家拍砖。http://www.cnblogs.com/eyhel/archive/2012/12/03/2799012.html学习之路--项目 阅读全文
-
go的windows下的安装包
摘要:本文章地址:http://blog.csdn.net/hengyunabc/article/details/73714462012-03-31:新版的goclipse改进很大,本文有些内容已过时。1.下载go的windows下的安装包: https://code.google.com/p/go/downloads/list 也可以下载源代码,用MinGW编译。先配置好MinGW的环境,再运行all.bat即可。MingW:http://www.mingw.org/2.下载gocode,用于go的补全提示: gocode 的github地址: https://github.com/nsf/... 阅读全文
-
搭建go环境(windows和linux)
摘要:博客园首页新随笔新文章联系管理订阅搭建go环境(windows和linux)跟一位兄弟合作,他来写搭建go环境的文章。请移步至:http://www.cnblogs.com/eyhel/python,go,redis,mongodb,.net,C#,F#,服务器架构标签:搭建,go环境 阅读全文
-
构建离线Go编程指南——gotour
摘要:Google为了更好地推广Go语言,在自己的官网和Appspot上分别搭建了基于浏览器的交互式Go编程指南-gotour,相关网站:gotour—— English Versiongotour——中文版本这个教程非常简单易学,共分三部分:第一部分主要介绍Go语言的基础概念,包括包、导入、函数、变量、条件、循环、指针、struct、slice、Map、Range等。第二部分主要介绍方法、接口、Error、Web服务器、图片处理等。第三部分主要介绍并发、Goroutine、Channel、缓冲Channel、Range和Close、Select等。每部分都提供大量的例子,所有代码都可以在Web上直 阅读全文
-
探索Go语言(一)
摘要:看到网上有些人说Go是python 4.0,对此看法,我不敢苟同。从本质上讲,这两个是完全不同的语言。go是静态型编译语言,python是动态型解释语言(脚本语言);go的执行速度属于微秒级,可精确到纳秒,而python属于毫秒级,根本无法比;go完全支持指针,python不支持,只有引用。闲话不多说,下面就来看看go长得啥样子。如果你有C/C++,JAVA,C#,python等语言基础,对linux有些了解,我相信你一定会很快会对go有初步了解。 (本文不是教程,如果想学具体的go语言,请稳步至:[摘]Go 语言简介(上)— 语法和[摘]Go 语言简介(下)— 特性) 老规矩,先来个h... 阅读全文
-
用go语言遍历文件夹
摘要:用python遍历文件夹很方便,在go的世界里,我也需要这样的功能。找了找文档,里面有这个功能(具体参考这里:http://golang.org/pkg/path/filepath/)……好,不废话了,我也想早点睡,直接上代码。代码如下:/*File : getFilelist.goAuthor : MikeE-Mail : Mike_Zhang@live.com*/package mainimport ( "path/filepath" "os" "fmt" "flag")func getFilelist(pat 阅读全文
-
Go语言实现http共享(总结)
摘要:go语言入门简单,可要写出好的go代码得需要下些功夫。前两天刚把http文件共享的升级过(http://www.cnblogs.com/MikeZhang/archive/2012/08/06/httpShareGolang20120805.html),现在经大牛指点完全用http实现,感觉爽快多了。一个简单的http服务器代码package mainimport ( "io" "net/http" "log")func HelloServer(w http.ResponseWriter, req *http.Request) { i 阅读全文
-
Golang runtime 浅析
摘要:Golang runtime 浅析2012-07-19 15:05 by 轩脉刃, 284 阅读,0评论,收藏,编辑从Goroot的代码出发,里面有很多代码非常复杂,一点点看吧。最重要的概念就是runtime,golang的程序都是在runtime的基础上运行的(除了与底层直接交互的syscall)。Runtime在$goroot/pkg/runtime/中有三个文件非常重要:proc.cstack.hruntime.h在runtime.h中你能看到许多的数据结构和接口这里的数据结构就是go中的各种特定的结构对应的底层实现,比如slice:?1234567structSlice{ // mus 阅读全文
-
Go语言开发Windows应用
摘要:Go语言开发Windows应用2012-07-05 16:48 by 轩脉刃, 352 阅读,4评论,收藏,编辑当第一次看到Go程序在windows平台生成可执行的exe文件,就宣告了windows应用也一定是Go语言的战场。Go不是脚本语言,但却有着脚本语言的轻便简单的特性。相较于php和python之类以服务器控制台为主要战场的脚本语言来说,Go语言是真正的圆了“动态语言的应用开发梦”。Windows ApiWindows桌面应用依赖于win api,画出各种应用界面和控件本质上就是调用windows提供的api。Go开发Windows App要做的第一件事情就是封装这些windows a 阅读全文
-
go语言中goroutine的使用
摘要:go中的goroutine是go语言在语言级别支持并发的一种特性。初接触go的时候对go的goroutine的欢喜至极,实现并发简便到简直bt的地步。但是在项目过程中,越来越发现goroutine是一个很容易被大家滥用的东西。goroutine是一把双面刃。这里列举一下goroutine使用的几宗罪:1 goroutine的指针传递是不安全的?12345678fun main() {request := request.NewRequest() //这里的NewRequest()是传递回一个type Request的指针go saveRequestToRedis1(request)go sav 阅读全文
-
Go基础语法整理(一)
摘要:时间过的好快,转眼端午已经过去两天半了,今天在家里,静下心,看看书,写写文章。这一段时间,我除了看Cowboy源码,抽空看了下Go的基本语法,当然就是看之前在Ubuntu下使用Sublime Text 2搭建Go开发环境这篇文章中跟大家推荐的《学习Go语言》0.4 中文版,今天抽空整理下基础知识点,毕竟看跟实践带来的效果是不同的。 变量、类型和保留字 Go在语法上有着类C的感觉,一般情况下,你不需要使用分号,除非你将两个(或更多)语句放在一行书写。 Go和ActionScript3一样,变量的类型在变量名的后面,例如: C#是: int a; 而Go则是 var a int;如果一行只... 阅读全文
-
Google 的Go 语言
摘要:《学习Go语言》中文版Add comments这是关于来自Google 的Go 语言的简介。目标是为这个新的、革命性的语言提供一个指南。什么是Go?来自于网站:Go 编程语言是一个使得程序员更加有效率的开源项目。Go 是有表达力、简洁、清晰和有效率的。它的并行机制使其很容易编写多核和网络应用,而新奇的类型系统允许构建有弹性的模块化程序。Go 编译到机器码非常快速,同时具有便利的垃圾回收和强大的运行时反射。它是快速的、静态类型编译语言,但是感觉上是动态类型的,解释型语言。这本书的目标读者是那些熟悉编程,并且了解多种编程语言,例如C,C++,Perl,Java,Erlang,Scala,Haske 阅读全文