《go语言程序设计》学习(一)

序言 2年前的这个时候认识到了golang,然后兴匆匆的去书店买了本书,go语言,云动力吧好像是,结果拿过来一开始,环境就设置不上,折腾了几天,然后就不了了之了。 1年前的这个时候,再次路过书店,看到了《go语言程序设计》这本书,按耐不住心痒痒,又买回来,结果看了两章,又头昏脑胀,没坚持下去。 前几天看很多人都在讨论golang,我就又去把书翻出来了,这次决定要再前进一步,争取把书看完。 (一个拖延症的懒癌患者的内心,是咆哮的) 一,示例代码:gobook已下载 二,开发环境:go 1.4,vi...阅读全文

博客园 2015-08-01 12:01 mruoli

golang package(time)

time package in there //time package //time 包为我们提供了一个数据类型 time.Time(作为值使用)以及显示和测量时间和日期的功能函数 //当前时间可以使用 time.Now() 获取,或者使用 t.Day()、t.Minute() 等等来获取时间的一部分;你甚至可以自定义时间/// 格式化字符串,例如: fmt.Printf("%02d.%02d.%4d\n", t.Day(), t.Month(), t.Year()) 将会输出 21.07.2...阅读全文

开源中国博客 2015-08-01 12:02 ivandong_qifan

golang package整理(strconv)

//package strconv //与字符串相关的类型转换都是通过 strconv 包实现的 //任何类型 T 转换为字符串总是成功的 //将字符串转换为其它类型 tp 并不总是可能的,可能会在运行时抛出错误 parsing "…": invalid argument //获取程序运行的操作系统平台下 int 类型所占的位数 strconv.IntSize //**********数字类型转换到字符串**/ //返回数字 i 所表示的字符串类型的十进制数 strconv.Itoa(i int...阅读全文

开源中国博客 2015-07-31 23:56 ivandong_qifan

GO语言练习:反射

列举几个反射的例子:1)简单类型反射,2)复杂类型反射,3)对反射回来的数据的可修改属性 1、简单类型反射 1.1)代码 package main import ( "fmt" "reflect" ) func main() { var x float64 = 3.4 v := reflect.ValueOf(x) fmt.Println("type :", v.Type()) fmt.Println("kind is float64:", v.Kind() == reflect.Float64...阅读全文

博客园 2015-07-31 22:36 fengbohello

golang操作mongodb

1、要安装mongodb数据库,2、要下载golang的mgo包,3、连接操作 package main import ( "gopkg.in/mgo.v2" "gopkg.in/mgo.v2/bson" "fmt" ) const URL = "192.168.1.83:27017" //mongodb的地址 func main() { session, err := mgo.Dial(URL) //连接服务器 if err != nil { panic(err) } c := session...阅读全文

开源中国博客 2015-07-30 17:05 别人说我名字很长

Mgo库的常见坑总结

mgo库是一个很好用的MongoDB驱动。对我们来说,主力数据库是MongoDB,因此这个驱动对我们来说也是非常重要的。但是,mgo库有些问题算是一些坑,这里我做了一些简单的整理。 一些关于bson.ObjectId的问题 ObjectId为空的判断 如果你看bson.ObjectId定义的话,它是一个string类型的数据。但是如果你直接定义一个结构,并且生成对象时,这个对象并不是这样的。 我们首先定义一个结构体: type Home struct { ID bson.ObjectId `bs...阅读全文

ipfans's Blog January 27, 2016 kevin

windows环境下搭建go环境+sublime2

1,安装go的sdk。 连接:地址 2,安装git工具 地址:地址 2,安装sublime 地址:这里写链接内容 3,配置go环境。 1)你装好go后,会在你的环境变量中自动加上。你去cmd验证就ok。 2)环境变量: C:\Program Files\NVIDIA Corporation\PhysX\Common;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\Windows...阅读全文

CSDN博客 2015-07-26 17:47 guoer9973

IntelliJ Idea 14 安装 Golang 插件 google-go-lang-idea-

IntelliJ Idea 14 安装 Golang 插件 google-go-lang-idea-plugin 的方法 2015-03-08 16:51 zsjangel 阅读 4249 次 0 人喜欢 1 条评论 收藏 IDEA 的编辑器都很强悍,所以现在学Go 也想用他啊,无奈这个插件搞了好久,整理了下流程记录下 1. 当然是下载 IDEA 编辑器了 http://www.jetbrains.com/idea/download/ 附上旗舰版注册机地址 http://download.csd...阅读全文

开源中国博客 2015-07-30 08:24 epiclight

Golang- import 导入包的语法

转载自:http://blog.csdn.net/zhangzhebjut/article/details/25564457?utm_source=tuicool 一 包的导入语法 在写Go代码的时候经常用到import这个命令用来导入包文件,看到的方式参考如下: import( "fmt" ) 然后在代码里面可以通过如下的方式调用 fmt.Println("hello world") 上面这个fmt是Go语言的标准库,他其实是去GOROOT下去加载该模块,当然Go的import还支持如下两种方...阅读全文

博客园 2015-07-30 03:00:00 code-review

golang中使用mongodb的操作类以及如何封装

mgo简介 mongodb官方没有关于go的mongodb的驱动,因此只能使用第三方驱动,mgo就是使用最多的一种。mgo(音mango)是MongoDB的Go语言驱动,它用基于Go语法的简单API实现了丰富的特性,并经过良好测试。 官网:http://labix.org/mgo 文档:http://godoc.org/gopkg.in/mgo.v2 安装与使用 安装 go get gopkg.in/mgo.v2 go中使用 package main import ( "gopkg.in/mgo...阅读全文

博客园 2015-07-29 15:48 spnt

Golang全接触

满打满算, 从好友推荐Golang至发文时, 使用Golang已经有1年多了. 这种时间对于C/C++ Java这些老者来说, 简直是菜鸟级别的经验 但作为新生代语言的特点就是实战. Golang这一年里, 已经为项目提供了稳定的服务器和强大的扩展能力, 与客户端的Unity3D里的C#一样, 都是强大, 极致开发效率代表的优秀开发语言. 用途篇 Golang到底拿来做啥? 我需要么? 高效(性能,开发)的服务器语言. 包括Web, 游戏, App 编写桌面级UI暂不是很适合 我需要把现在的C+...阅读全文

博客园 2015-07-30 00:25 findumars

Go 语言内存模型

备份一下 Go 语言内存模型 http://docscn.studygolang.com/ref/mem Go 内存模型 版本:2012年3月6日 || 译者:Oling Cat,Ants Arks,特别感谢 Fall Ark 的帮助 引言事件的发生次序同步初始化Go程的创建Go程的销毁信道通信锁Once 类型错误的同步 引言 Go内存模型阐明了一个Go程对某变量的写入,如何才能确保被另一个读取该变量的Go程监测到。 事件的发生次序 在单个Go程中,读取和写入的表现必须与程序指定的执行顺序相一致...阅读全文

CSDN博客 2015-06-11 15:38 zhangcunli

go语言条件语句 if else

示例: if a < 5 { return 0 } else { return 1 } 关于条件语句,需要注意以下几点:  条件语句不需要使用括号将条件包含起来();  无论语句体内有几条语句,花括号{}都是必须存在的;  左花括号{必须与if或者else处于同一行;  在if之后,条件语句之前,可以添加变量初始化语句,使用;间隔;  在有返回值的函数中,不允许将“最终的”return语句包含在if...else...结构中,否则会编译失败: function ends without...阅读全文

博客园 2015-07-28 13:49 osfipin

go语言选择语句 switch case

根据传入条件的不同,选择语句会执行不同的语句。下面的例子根据传入的整型变量i的不同而打印不同的内容: switch i { case 0: fmt.Printf("0") case 1: fmt.Printf("1") case 2: fallthrough case 3: fmt.Printf("3") case 4, 5, 6: fmt.Printf("4, 5, 6") default: fmt.Printf("Default") } 运行上面的案例,将会得到如下结果:  i = 0时,...阅读全文

博客园 2015-07-28 13:52 osfipin

go语言循环语句 for

Go语言中的循环语句只支持for关键字,而不支持while和do-while结构。 sum := 0 for i := 0; i < 10; i++ { sum += i } 无限循环的写法: sum := 0 for { sum++ if sum > 100 { break } } 条件表达式中也支持多重赋值: a := []int{1, 2, 3, 4, 5, 6} for i, j := 0, len(a) – 1; i < j; i, j = i + 1, j – 1 { a[i], a...阅读全文

博客园 2015-07-28 13:59 osfipin

golang面向对象

golang中并没有明确的面向对象的说法,实在要扯上的话,可以将struct比作其它语言中的class。 类的声明: //声明一个类 type People struct { Name string Sex int32 Address string } 这样就声明了一个类,其中没有public、protected、private的的声明。golang用另外一种做法来实现属性的访问权限:属性的开头字母是大写的则在其它包中可以被访问,否则只能在本包中访问。类的声明和方法亦是如此。 类方法声明: //...阅读全文

博客园 2015-07-28 10:02 wangjunqiao