[Golang]简单的聊天室实现

最近写了一个chrome的websocket extension, server端用的是Java的Netty框架, 后来发现golang 实现websocket 非常简单,高效, 下面是例子, 简单实现了用户登录,广播,相当于聊天室![plain] view plaincopyprint?package main import ( "code.google.com/p/go.net/websocket" "html/template" "log" "net/http" "os" "string...阅读全文

CSDN博客 2015-03-06 11:13 abv123456789

Golang 如何在windows平台下使用LiteIDE交叉编译linux执行程序

1,在windows环境下使用交叉编译,需要编译工具GCC,推荐使用MinGW: http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/mingw-get-inst-20120426/mingw-get-inst-20120426.exe/download 安装完成后运行MinGW Installation Mannger 选择安装mingw32-ggc-g++ 安装完成后设置环境变量,系统环境变量PATH中添加...阅读全文

CSDN博客 2014-04-22 14:17 mecho

golang 中的日期时间

Golang 中的日期和时间 包名 time 当前时间 time.Now() 当前时间戳 time.Now().Unix() 时间格式化string time.Now().Format("2006-01-02 15:04:05") time.Now().Format("2006-01-02") 时间戳格式化到string str_time := time.Unix(1389058332, 0).Format("2006-01-02 15:04:05") string 转化到 时间 以上是时间转化...阅读全文

CSDN博客 2015-03-03 12:22 csapr1987

详解配置sublime text 2/3的Golang开发环境

1.下载并安装sublime text 2/3 官网下载:http://www.sublimetext.com/ 2.成功安装sublime text后,启动sublime text,依次选择菜单栏中的"View"->"Show Console"或者直接按快捷键"Ctrl+`",弹出控制台,根据不同的版本输入下面的内容以安装"Package Contral" 1).sublime text 2 import urllib2,os; pf='Package Control.sublime-pack...阅读全文

CSDN博客 2014-10-05 23:06 u011843461

热更新配置参数例子(Golang)

在不停止程序的情况下,通过发送USR1或USR2等信号量,触发运行中程序的参数更新处理。当然还可以通过处理如kill等信号量, 让程序正确的处理退出操作。 做了个例子,效果如下。 可以看到通过发出kill -USR1 id号 让对应的程序参数发生了变更。 关于kill的参数值可以通过kill -l列出。 各个终端也提供了很多快捷键来支持特定信息的发送,如最常见的ctrl+c. 但注意,各个终端的快捷键定义可能不一样,而且有些是可以自定义的,这个要注意,在使用前可以用stty -a查出。 附上测试...阅读全文

CSDN博客 2015-04-11 17:41 xcltapestry

Golang面向对象之类型、方法、多态

Golang面向对象之类型、方法、多态 一、方法与函数 什么是方法?与函数的区别? 方法就是能够处理某种类型的变量或结构(以下结构也统称为变量)的函数,称为该类型的方法 这意味着,这个变量会传给这个函数,并且这个函数认识这个变量的内部构造 怎样使得一个函数成为一个类型的方法? java和cpp将指向该类型变量的“this”指针作为隐含参数传入该函数 go将该类型变量的拷贝、或者指向该类型变量的指针作为“接收者”传入该函数 java和cpp将该函数藏在类中,以防止外界轻易访问 go中方法可以放置在...阅读全文

CSDN博客 2013-07-05 02:20 max2005

使用Golang 搭建http web服务器

Golang在搭建web服务器方面的能力是毋庸置疑的。官方已经有提供net/http包为搭建http服务器做准备。使用这个包能很简单地对web的路由,静态文件,模版,cookie等数据进行设置。至于这个包是否好用,这个就见仁见智了。你可以从net包开始封装一个web框架,当然也可以基于http包封装一个web框架。但是不论你是打算怎么样做,了解基本的net/http包一定是你借鉴的基础。 需求 我们要做两个简单的后台web系统。这个系统简单到只有两个页面:登陆和首页。 1 登陆页面 登陆页面需要...阅读全文

CSDN博客 2014-07-10 15:27 zhjih123

Golang适合高并发场景的原因分析

典型的两个现实案例: 我们先看两个用Go做消息推送的案例实际处理能力。 360消息推送的数据: 16台机器,标配:24个硬件线程,64GB内存 Linux Kernel 2.6.32 x86_64 单机80万并发连接,load 0.2~0.4,CPU 总使用率 7%~10%,内存占用20GB (res) 目前接入的产品约1280万在线用户 2分钟一次GC,停顿2秒 (1.0.3 的 GC 不给力,直接升级到 tip,再次吃螃蟹) 15亿个心跳包/天,占大多数。 京东云消息推送系统 (团队人数:4...阅读全文

CSDN博客 2015-02-07 22:44 orangesdk

golang练习(一)循环与函数

地址:http://tour.go-zh.org/flowcontrol/8 练习:循环和函数 作为练习函数和循环的简单途径,用牛顿法实现开方函数。 在这个例子中,牛顿法是通过选择一个初始点 z 然后重复这一过程求 Sqrt(x) 的近似值: 为了做到这个,只需要重复计算 10 次,并且观察不同的值(1,2,3,……)是如何逐步逼近结果的。 然后,修改循环条件,使得当值停止改变(或改变非常小)的时候退出循环。观察迭代次数是否变化。结果与 [[http://golang.org/pkg/math/...阅读全文

CSDN博客 2015-03-30 19:57 gaokecs1

golang源码观感

最近看golang的源码。 整个库的完成体现io Writer Reader的一致性。 从网络,文件,到内存都抽象出Writer Reader。 encoding bufio net包完美体现。 计算机程序就是io。 读入数据。输出数据。 函数 数据从参数中读入。返回值中返回数据。 一切皆文件的unix思想。阅读全文

CSDN博客 2013-01-29 10:37 goalworldq

GoLang 连接 Mysql 数据库

搜索下 找到一个 golang 的库地址: http://go-lang.cat-v.org/library-bindings 有数据库。。gui 等。 发现就这个更新 时间最近。。下载 zip包。 https://github.com/Philio/GoMySQL 经过编译发现只可以再 linux 下面进行编译。windows 没有弄好。 首先在 linux 下面设置环境变量: export PATH=$PATH:/opt/google/go/bin export GOROOT=/opt/go...阅读全文

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

golang 模拟登陆微信公众平台,突破微信群发每日一条限制

思路:微信后台可以对指定用户进行回复,群发其实就是一个loop,so 模拟POST提交到微信 后台, 模拟登陆,即可突破群发每日一条限制。 直接上代码 /* *@author 菠菜君 *@Version 0.1 *@time 2013-10-30 *@go语言实现模拟登陆微信公众平台,突破微信群发每日一条限制 *@青岛程序员 微信订阅号 qdprogrammer *@Golang 微信订阅号 gostock *@关于青岛程序员的技术,创业,生活 分享。 *@开源 https://github.c...阅读全文

CSDN博客 2013-10-29 21:57 songbohr

golang学习之html json解析

golang解析html文件 由于项目中需要用到json,使用的是https://github.com/bitly/go-simplejson.git 下载到配置的&gopath路径的src下面 连接的地址是: "http://lengxiaohua.com/lengxiaohuaapi/joke?action=getJokes&interval=weekly&sort=popular&type=text%7Cimage&start=0&limit=20" 步骤很简单 1.连接url获取页面内容...阅读全文

CSDN博客 2015-03-19 10:09 liuwenhan999

栈_逆波兰表达式_计算器实现_Golang版本

借助栈与逆波兰表达式 实现一个计算器,编程语言用的是Golang。 逆波兰表达式可以讲复杂的计算过程转化为简单的操作过程,进而得出答案。 比如 (a+b)*(b-c) 按照逆波兰表达式的规则得到 :ab+bc-* 然后将该表达式的字符以及符号,按照从左到右的顺序,依次入栈,一碰到符号则将栈顶前两个元素取出,做运算然后放入栈内,重复该操作,直到表达式结束。 下面将结合栈与逆波兰表达式写一个简易计算器。 运行命令如下 go run counter.go --expression=\(3-5\)*4-...阅读全文

CSDN博客 2015-02-01 09:25 u012807459