go语言学习--入门及环境搭建(更新中)
论坛 http://www.golangtc.com/ 入门教程: http://tour.golangtc.com/ http://www.golang-book.com/ 开发工具配置 sublime: http://www.cnblogs.com/sevenyuan/archive/2013/03/01/2938351.html LiteIDE: http://blog.csdn.net/qiurisuixiang/articl...阅读全文
论坛 http://www.golangtc.com/ 入门教程: http://tour.golangtc.com/ http://www.golang-book.com/ 开发工具配置 sublime: http://www.cnblogs.com/sevenyuan/archive/2013/03/01/2938351.html LiteIDE: http://blog.csdn.net/qiurisuixiang/articl...阅读全文
原文名称:如何创建、编译、打包go语言(golang)的源代码和工程 原文地址:http://outofmemory.cn/code-snippet/2073/how-create-compile-dabao-go-language-golang-source-code-gongcheng 步骤如下: 设置GOPATH,这个环境变量指向你的projectDir(工程目录),形如:GOPATH=/home/user/ext:/home/user/projectDir (可以设置多个工程目录,...阅读全文
package main func average(values []float64) float64{ if len(values) == 0{ return 0 } sum := 0.0 for _,value := range(values){ sum += value } return sum/float64(len(values)) } func main(){ value := []float64...阅读全文
在死磕OpenGL的路上,决定歇一下,再新学习一门语言。最后选中golang,这个号称很牛逼的语言。花了两天时间看了一本书,觉得非常有意思。在C的基础上,吸收了很多其他语言的特性,又大胆突破OO的思想,使用非常简单,让人爱不释手!今天晚上终于有时间折腾一下golang了,决定搭建一个IDE环境,被Xcode宠坏了,现在写代码没补全就觉得很蛋疼。又看了一圈,对比一下,决定选择IntelliJ IDE的社区版。 插件安装之类的配置就不多说了,教程太多了,主要说一下使用遇到的一些问题,记录一下。 ...阅读全文
package main import ( "net/http" "os" "io" "strconv") func main() { f, err := os.OpenFile("K:/file.mp3", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666) stat, err := f.Stat() //获取文件状态 if err != nil { panic(err) } //把文件指针指到文件末,当然你说为何...阅读全文
Socket基础知识 通过上面的介绍我们知道Socket有两种:TCP Socket和UDP Socket,TCP和UDP 通过上面的介绍我们知道Socket有两种:TCP Socket和UDP Socket,TCP和UDP是协议,而要确定一个进程的需要三元组,需要IP地址和端口。 IPv4地址 目前的全球因特网所采用的协议族是TCP/IP协议。IP是TCP/IP协议中网络层的协议,是TCP/IP协议族的核心协议。目前IP协议的版本号是4(简称为IPv4),发展至今已经使用了30多年。...阅读全文
go的变量声明有几种方式: 1 通过关键字 var 进行声明 例如:var i int 然后进行赋值操作 i = 5 2 最简单的,通过符号 := 进行声明和赋值 例如: i:=5 golang会默认它的类型 下面看一段代码,我们先声明一个变量a,然后再重新声明变量a,b,在这个函数中,变量a被声明了2次,成为a的重声明(redeclare),执行结果为23 package main import ( "fmt" ) func main(){ a:=1 a,b...阅读全文
安装C语言工具 sudo apt-get install bison ed gawk gcc libc6-dev make 安装Mercurial sudo apt-get install python-setuptools python-dev build-essential sudo apt-get install mercurial 获取Go lang代码 $ hg clone -r release https://go.googlecode.com/hg/ go...阅读全文
用golang编写简单的Echo Server 这段时间在看golang的网络编程方面的内容,网络知识很浅薄啊,很多东西还要不断的学习,很多也看不懂,今天先来一个简单的内容,用golang写一个简单的echo server。 TCP/IP协议 大家都知道TCP/IP协议簇是当今网络世界的事实标准协议,与其对应的是OSI的七层模型,对于这七层模型这里就不再赘述了,这里只是简单介绍一下TCP/IP的四层模型。 TCP/IP的四层模型最下面是一个物理层,上面是网络层,再往上就是传输层,最后是应用层了...阅读全文
开头的碎碎念: 对接微信公众平台的时候,开始有个字符串排序,我接触golang毕竟时间尚浅,很多东西都是能从网上找到就直接从网上找,结果就是找了好几个示例代码都不好用,好容易一个好用的,从头开始实现的,代码太多了。我就想,google应该把这些玩意都封装好了吧,不然一个新出的语言只有基础语法,没有强大的标准库,谁用这玩意啊。也就是那时候第一次接触src文件夹,后来发现pkg里的那些go文件是绝好的学习资料。 那么多文件、文件夹从哪开始看呢,我的原则,先找没有依赖性的,也就是没有import的,这...阅读全文
改章节笔者在广东喝咖啡的时候突然想到的...近期就有想写几篇关于版本设置的博客,所以回家到之后就奋笔疾书的写出来发表了 import C:\go/pkg/windows_386/fmt.a: object is [windows 386 weekly. 2012-02-22 +96bd78e7d35e X:none] expected [windows 386 weekly. 2011-12-22 11071 X:none] main.go 1:: 编译程序出现上述错误...阅读全文
用Erlang开发web,很可能就会使用到mochiweb。mochiweb使用16个Erlang式的进程来监听tcp链接,使得任何链接进来都会很快得到处理。Golang跟Erlang很像,在这里实现了一个类似mochiweb的tcp监控链接,一个简单的echo服务器。先看代码。 1 package main 2 3 import ( 4 "log" 5 "runtime" 6 "net" 7 ) 8 9 func main() { 10 11 ...阅读全文
上次用Scala写了个爬虫。最近在闲工夫之时,学习Go语言,便用Go移植了那个用Scala写的爬虫,代码如下: package main import ( "fmt" "io/ioutil" "net/http" "regexp" ) var ( ptnIndexItem = regexp.MustCompile(`<a target="_blank" href="(.+\.html)" title=".+" >(.+)</a>`) ptnContentRough = r...阅读全文
我用的操作系统为ubuntu14.04 用惯了命令行下裸的vim,有些厌倦,尝试着去emacs里打了个滚,各种快捷键让我觉得惨不忍睹。回到vim感觉像是回到了天堂,想想又不是只有emacs才有图形界面,虽然我已经弃用gvim很久,不代表它不存在。故而转投gvim的怀抱。 而最近正好开始学golang,尝试着写些小程序,却发现vim对golang的原生支持实在是糟糕,于是重新走上了配置vim的不归路…… 插件: pathogen 我使用pathogen来管理所有的插件,这是因为...阅读全文
We have just released go1.1rc2, a release candidate for Go 1.1. This release candidate should be stable and production-ready, but please exercise caution when deploying it to critical systems. Please help us by testing your Go programs with the new...阅读全文
Golang中的反射 今天看了一下golang中的反射,觉得golang中的反射还是比较容易使用的。这边文章基本是自己对于这篇的翻译。 类型和接口 由于反射是基于类型系统(type system)的,所以先简单了解一下类型系统。 首先Golang是一种静态类型的语言,在编译时每一个变量都有一个类型对应,例如:int,floate32,[]byte,*MyType等等。如果我们这样声明: type MyInt int var i int var j MyInt 上面的i是int类型的,j是...阅读全文
golang(中文名:go语言)是谷歌2009发布的第二款开源编程语言。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。 golang的安装在ubuntu上其实很简单 sudo add-apt-repository ppa:gophers/go sudo apt-get update sudo apt-get install golang 如果你喜欢手工安装,请查看 golang编译器安装与配置阅读全文
最近对go语言比较感兴趣,想试用go来做点东西,go做主框架,动态加载一些程序来执行。由于现在go语言不支持go模块的动态链接,所以需要选用一个脚本语言来补充,找了一下,感觉lua比较符合要求,虚拟机比较小,可以同时开多个执行多个lua脚本。于是就找了一下go对lua的binding,找到golua,但是已经好久没更新了,现在go1下编译都通不过,修改了一下通过来,结果发现不能注册go函数到lua中执行。。。 不得已,就想自己写一个,希望他能满足一下要求: 可以将go函数注册到...阅读全文
一:go get 命令的使用问题: 报的错误为: # cd .; git clone https://github.com/nsf/gocode E:\goPath\src\github.com\nsf\goc ode package github.com/nsf/gocode: exec: "git": executable file not found in %PATH% 安装了msysgit http://www.oschina.net/p/msysgit 后 配置...阅读全文