go笔记1-helloWorld!
有一次听一个沙龙技术演讲,讲师说go是互联网时代的c,听了详细介绍以后感觉很赞,尤其是并行层面真正在语言层面上做了控制及特殊的内存管理机制等。。。 好吧,下面上先上helloWorld代码。(以后系列的博客也是以代码为主) package main //这个是必须的,所有的go文件必须以 package开头 import "fmt" // ”fmt“是go必须要引入格式化I/O的库。如果要引入多个库import用( )号包裹所有的库。例如 ...阅读全文
阅读go语言源代码1
前面大概说过bison与yacc的语法,那么其实go也是用bison来实现的,下面来说说怎么阅读go语言源代码。要看代码首先得找到代码的入口,怎么找呢?你可能首先想到grep main是的,一般来说这是一个没有争议的办法,但是对于go语言来说,这个办法对,也不对。怎么说呢?我们用gdb来进行debug就会看到所有的go语言程序的入口居然都在src/lib9/main.c里的main函数。 #include <u.h> #define NOPLAN9DEFINES #include <libc.h...阅读全文
[转]go语言 Golang官网被墙解决办法
Golang官网被墙解决办法 初学者有时发现官网打不开,实在是一件很另人气馁的事,可能就直接放弃了,下面提供几个解决办法。 1. 修改hosts文件 找到hosts文件,Mac OS X/*nix在/etc/hosts,Windows在C:\WINDOWS\system32\drivers\etc\hosts 增加一行 173.194.75.141 golang.org 2. 本地启动godoc服务 godoc -http=:6060 通过浏览器访问http://localhost...阅读全文
go语言学习:web服务器 golang版
这是一款用golang写的web服务器,严格说,是文件服务器。个人主要用于一些项目在服务器上的日志提取,暂时叫它gws(go web server),它支持目录配置,保证服务器的安全性,当然,您也可以改造它,加入一点账号的验证。 源码中,使用了mux,进行路由分发,现在把它开源出来,代码写得简单,这也是golang带来的非常大的好处。 google code 地址: http://code.google.com/p/golang-web-server/ 欢迎大家拍砖。博主是做C/C++服务器开发...阅读全文
go语言的http包
http服务 引子,http的hello world 如果要搜索“go http helloworld”的话,多半会搜索到以下代码 package main import ( "io" "net/http" ) func main() { http.HandleFunc("/", sayhello) http.ListenAndServe(":8080", nil) } func sayhello(w http.ResponseWriter, r *...阅读全文
golang之交叉编译设置
俺的环境,os x,目的,生成64位linux的elf文件 直接下载osx的包就可以,不需要特意去下载源码包,我的go目录是~/golang/go cd ~/golang/go/srcCGO_ENABLED=0 GOOS=linux GOARCH=amd64 ./make.bash 终端党 到工程目录直接执行 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build liteIde党 编译cross-linux64的配置文件,大概和这样差不...阅读全文
解决golang.org不能访问的问题
golang.org被屏蔽了,直接访问不了,解决办法如下:在 http://ping.eu/ping/ 上ping一下golang.org,获取到IP,如图: 然后,在C:\Windows\System32\drivers\etc\hosts中,添加ip和golang.org的对应关系,添加如下一行: 173.194.71.141 golang.org 重新启动下浏览器,就可访问golang.org了。阅读全文
go语言 安装编译体验
直接下载 go的安装包,解压后,即可使用 需要配置对应的环境变量 export GOROOT=/home/go/go export GOBIN=$GOROOT/bin export GOPATH=/home/go/src export PATH=$PATH:$GOBIN:$GOPATH 比较重要的是 GOROOT 和GOPATH GOROOT 是安装包的地址,GOPATH为开发环境的地址。 在使用中 go build 文件 会编译出可执行文件 go install 会把 工程中使用的pkg...阅读全文
go语言的time包
go语言的time包 组成 time.Duration(时长,耗时) time.Time(时间点) time.C(放时间点的管道)[ Time.C:=make(chan time.Time) ] time包里有2个东西,一个是时间点,另一个是时长 时间点的意思就是“某一刻”,比如 2000年1月1日1点1分1秒 那一刻(后台记录的是unix时间,从1970年开始计算) 时长就是某一刻与另一刻的差,也就是耗时 函数 Sleep函数 time.Sleep(time...阅读全文
Win7下搭建 Go+Sublime Text2+MongoDB+Revel+MGO的开发环境
一、安装Go语言运行环境 1、下载:Go语言相应操作系统的安装文件并点击按着向导安装即可。 下载地址:http://code.google.com/p/go/downloads/list 2、安装: 安装文件有msi和zip两种格式的。 .msi文:是标准windows安装文件,双击安装即可。正常情况下不需要手工配置环境变量 .zip:zip压缩包...阅读全文
go语言示例:if/else语句
if else分支在go语言里是简单明了的。 这里有个简单的例子。 if语句可以没有else。 可以在条件语句前添加别的语句。这个语句中声明的变量的作用域在所有的分支中。 注意:在go语言中条件语句没必要带圆括号。但是分支中必须有大括号。 在go语言里面没有三元条件语句,所以即使是简单的条件语句你也必须使用全机构的if语句(就是说go里没有个?:表达式 )。 Plain Text code ? 1 2 3 4 5 6 7 8 9 10 11 ...阅读全文
golang append
1) Append a slice b to an existing slice a: a = append(a, b...) 2) Copy a slice a to a new slice b: b = make([]T, len(a)) copy(b, a) 3) Delete item at index i: a = append(a[:i], a[i+1:]...) 4) Cut from index i till j out of slice a: a = append(a[:i],...阅读全文
go 对windows api的调用
package main import ( "syscall" ) func abort(funcname string, err string) { panic(funcname + " failed: "+err) } func print_version(v uint32) { major := byte(v) min...阅读全文
GO语言尝鲜(Beego)
最近几天不知道为什么开始学了下GO的基础语言,今天吃好饭搞起。 首先推荐一个写Go的博客(陈佳桦《GoWeb编程》英文版译者),我很多东西都参考他的博客,但是GO更新速度还是蛮快 ,有的东西被改掉了。 1.安装GO,下载安装包,windows下点击就送。 2.设置GOPATH,windows就在系统环境变量中新建一个GOPATH项,后面的地址随你,我是直接放在了GO安装目录下,自己建的目录里面(千万别放在GO安装目录下就行),我是XXX\go\dev下。 3.编译工具是sublime(...阅读全文
golang begin
1. install go 2. configure sublimehttp://blog.csdn.net/cyxcw1/article/details/10329481 3.io package 1) io.Reader 1 // io.Reader 接口示例 2 package main 3 4 import ( 5 "fmt" 6 "io" 7 "os" 8 "strings" 9 ) 10 11 func main() {...阅读全文
go语言 windows下 访问oracle数据库
golang windows下 访问oracle数据库 ======================= 参考了 https://github.com/wendal/go-oci8 中所说的方法,但感觉有些地方没有写详细 花了不少时间。 1. 增加系统变量 GOPATH=c:\go 2. 下载OCI最新版,存放于C:\instantclient_11_2 3. 下载OCI SDK最新版,存放于C:\instantclient_11_2\sdk 4. 下载MinGW最新版,安装在C:\mi...阅读全文