使用golang开发https服务

用Golang来写一个http服务极其简单,写一个https服务,也一样的极其简单。 生成key.pem和cert.pem: openssl req -new -x509 -key key.pem -out cert.pem -days 1095 package main import ( "fmt" // "io/ioutil" "net/http" "log" ) func main() { http.HandleFunc( "/", makeHandler ) err := http.Li...阅读全文

新浪博客 2013-01-14 15:00:53 githen-小郭子

go的赋值与声明语法糖

:= 只有在左侧有未定义变量时才能使用(有定义的变量也可以) := 只进行语义上的检查,循环内也可以使用,第一次之后的效果和=相同 := 和 = 都要求左右的值和变量一一对应,不会截断 特殊情况,map、chan、类型推定可以返回一个值,也可以是两个值 当map中该键不存在时,总是返回零值和false,否则后者返回true 当chan关闭以后,总是返回零值和false,否则后者返回true package main type INT int func (r *IN...阅读全文

开源中国博客 2013-07-29 21:35 刘地

【Go web开发之revel+mgo】第4章 实现评论功能

sorry,各位在开始这一章之前请各位先到,第5章把整个项目的css  copy出来,这一章忘了加,本来想在后面加的,但是发现页面的内容太多了 1.设计评论页面 上一章我们做了简单的写blog和显示功能,这里不得不说一下,首先,我们的blog里面不能加图片链接这样的东西,不支持markdown语法。博主比较懒,尝试找了几个插件发现不满意之后就不想尝试了(其实能找到github编写wiki的编辑器才是我想要的,有谁知道的告诉我哦),大家可以自己尝试去找一些自己喜欢的编辑器(虽然revel中文社...阅读全文

CSDN博客 2014-04-25 16:26 jov123

go学习笔记

go学习笔记初始go异常处理的defer是个不错的特性,虽然说有人反驳说其中的java代码不够合理,但是这种方式确实对c是一个巨大的进步。工程编译根据方便,没有Makefile文件,只要一个go命令即可。但是必须要设置GOPATH路径,这一步能省掉就更好了。顺序编程变量:支持:int,字符串,数组,数组切片,结构体,指针,字典,函数指针。iota:在每次const是初始化为0,每出现一次会自增1。全局变量不支持类型推导——:=go 的取反是^而不是~float64相当于c中的double。浮点数...阅读全文

CSDN博客 2014-03-15 20:50 chgaowei

go语言工程约定,分包和编译

go-lang已经发布了go1,前段时间看了一下go语言的教程,就喜欢上了这门语言,但使用多个文件编译是碰到一些麻烦,引用出错编译通不过,google之找到了这篇教程https://golang.org/doc/code.html,我按自己的理解记录一下,英文好的童鞋还是看原文吧! go语言可以用makefile,也可以按他的约定来直接编译。约定其实比较简单,go语言是这么来配置他的工程的 prjDir # 工程根目录 bin/ hello ...阅读全文

开源中国博客 2013-01-21 16:30 lavafree

golang里channel的实现原理

channel是消息传递的机制,用于多线程环境下lock free synchronization. 它同时具备2个特性: 1. 消息传递 2. 同步 golang里的channel的性能,可以参考前一篇:http://blog.sina.com.cn/s/blog_630c58cb01016xur.html 此外,自带的runtime package里已经提供了benchmark代码,可以运行下面的命令查看其性能: go test -v -test.bench=".*" runtime 在我的...阅读全文

新浪博客 2012-11-15 23:41:08 funkygao

Go语言的国际化支持(基于gettext-go)

本文在 Golang中国博客 的地址: http://blog.go-china.org/07-gettext hello, world! 假设有以下的程序, 输出: “Hello, world!“. package main import ( "fmt" ) func main() { fmt.Println("Hello, world!") } 现在要让改程序支持不同语言的用户, 然后以本地语言输出相同意思的信息. 这就是很多程序面临的国际化问题. Go语言...阅读全文

开源中国博客 2014-01-07 07:54 chai2010

go语言总结

1.项目需要,学习GO 2.GO是谷歌出品,很多牛B很多吹捧,所以得学 3.从搭建环境开始: 因为习惯了win7+eclipse的开发方式,所以go的开发环境也用这样的组合 具体 http://blog.csdn.net/hengyunabc/article/details/7371446 里面说的很明白。 (http://bigasp.com/archives/594、http://rongmayisheng.com/post/windows下用eclipsegoclipse插件gdb搭建go...阅读全文

ITEYE博客 2014-04-18 09:17 sugongp

我第1个可用的golang小程序

为什么要写这个程序 寻找时间同步Api 编写同步程序 封装成windows service   为什么要写这个程序         一直在关注golang, 从2011年4月配置环境写了个hello world!(http://weibo.com/1409046677/wr4n3vdYFV), 后来没再动手写golang代码了, 只是关注golang方面的信息/资讯。去年到今年稍认真的看了一些golang的基础语法,然后前几天家里的台式电脑又开机用了一下,可能是bios电池没电的原因吧, 总...阅读全文

博客园 2014-04-24 13:08 net205

Golang 1.0 文档使用。godoc ,go 命令 学习 ,本地运行 gotour

首先要安装环境 参考:   http://toeo.iteye.com/blog/1470598   找了半天 没有 看明白 doc 的目录结构。   原来 doc 是web 展示的 !!!   本地 运行 web 版本 doc文档   输入      > godoc -http=:6060      然后在浏览器里面就可以看到了:     访问你的浏览器年 就有自己的一个 本地 文档中心了。   google go 毫不吝啬。golang.org 上面的文档相关东西都 本地化了。直接在w...阅读全文

CSDN博客 2013-03-04 15:54 freewebsys

关于golang中包(package)的二三事儿

golang的package和其他语言的组织方式完全不同,刚开始接触时,很不适应。 golang的package的特点: 1、go的package不局限于一个文件,可以由多个文件组成。   组成一个package的多个文件,编译后实际上和一个文件类似,组成包的不同文件相互之间可以直接引用变量和函数,不论是否导出;   因此,组成包的多个文件中不能有相同的全局变量和函数(这里有一个例外就是包的初始化函数:init函数,下面还有讨论) 2、go不要求package的名称和所在目录名相同,但是你最好保...阅读全文

博客园 2014-03-12 15:49 dajianshi

使用go build 进行条件编译

当我们编写的go代码依赖特定平台或者cpu架构的时候,我们需要给出不同的实现 C语言有预处理器,可以通过宏或者#define包含特定平台指定的代码进行编译 但是Go没有预处理器,他是通过 go/build包 里定义的tags和命名约定来让Go的包可以管理不同平台的代码 这篇文章将讲述Go的条件编译系统是如何实现的,并且通过实例来说明如何使用 1. 预备知识:go list命令的使用 在讲条件编译之前需要了解go list的简单用法 go list访问源文件里那些能够影响编译进程内...阅读全文

CSDN博客 2013-10-13 12:14 varding

mac上golang编译出现clang错误

错误现象 几周前,突然发现我的go 项目编译开始报一种以前从来没有出现过的错误: # runtime/cgo clang: warning: argument unused during compilation: '-pthread' # runtime/cgo clang: error: no such file or directory: 'libgcc.a' 需要说明下:我的开发机器是mac mini,系统当时是10.8.5, 上周升级为mavericks。 问题进一步探索 刚出现时我有...阅读全文

博客园 2013-11-08 12:45 yihuiso

golang的缓冲channel和无缓冲channel的区别

话说golang的channel同步的定义真是让人无力吐槽,码农的用户体验就这么难搞么,超耐磨阿,无缓冲和缓冲居然有这么大区别。。。。靠   转载一段网上的资料 -------------------------------------------------------------------------------------------------------------------------------------------------------- golang channel 有...阅读全文

博客园 2013-09-08 11:59 ziyouchutuwenwu

golang中map的值引用问题

先给出一个例子   package mainimport (    "fmt")type string_map map[string][]stringfunc main() {    map1 := make(string_map)    map1["one"] = []string{"one"} //先赋值    one := map1["one"]            //把赋值的映射使用一个变量表示    one = []string{"two"}         //给这个变量赋另...阅读全文

博客园 2013-06-11 09:58 ssor

睡眠排序--go实现

一次偶然的机会看见了睡眠排序,很有意思的一种排序算法,可以说是对我们熟悉的正规排序的一种挑战,是思想上的突破,有点像脑筋急转弯。使用睡眠排序算法,只能按照从小到大的顺序排列。打印数组中的数据时,按照其大小sleep,这样,数越大sleep的时间也就越长。所有的数同时进入sleep状态,数比较小的会提前打印出来。近期使用的都是GO语言,对其并发也有了些许理解,所以,使用go语言来实现这种排序,是很不错的选择。 // test project main.go package main import...阅读全文

CSDN博客 2013-03-01 16:12 lxy15329

go语言 Hello World

go语言是google发布的编程语言,已经有了第一个正式版本 go编译速度很快,是编译型语言 hello.go package main import "fmt" func main() { fmt.Printf("Hello,World!") }运行结果: package main 是指go文件的开头标志 import "fmt" I/O库,是将fmt库加载到文件中来 func main() go程序执行的第一个函数 fmt.Printf fmt库中的输出语句阅读全文

CSDN博客 2012-04-11 14:54 chuangrain