golang的mahonia字符集转换工具用法

本打算用iconv-go的,但是编译后出很多问题,还找不到cannot find -liconv,因时间问题就暂时改用mahonia。 下载mahonia代码,放在某个地址,然后引用该地址(细节空闲了补); 然后如下 将byte数组转换成指定字符集: 关键语句如下 d := NewDecoder(目标字符集名) str := d.ConvertString(要转换的字符串) 一下是完整内容 待续... 将某字符集byte数组转换成指定字符集字符串: 关键语句 func ConvertToStri...阅读全文

开源中国博客 2014-10-11 09:31 weilai

go programming language(1)

go语言的特征 1. 用很简单的语法支持并行编程 2. 部分的更加规范编程风格,比如大小写等 3. go的编程哲学,精炼包容 怎么安装go。 每一个语言都要一个编译器,所谓的安装语言就是安装这个编译器。 下载了source code也是用C语言写的,不清除能否实现超越C的梦想,不过早期的C++做得更过分,先编译成C,相比这还是进步很多,后来为了安装方便还是下载了bin安装,花费了一百多M的空间。 Create a file named hello.go and put the following...阅读全文

CSDN博客 2013-01-23 22:53 wangeen

Go与C语言的互操作

原文地址:http://tonybai.com/tag/cgo/ Go有强烈的C背景,除了语法具有继承性外,其设计者以及其设计目标都与C语言有着千丝万缕的联系。在Go与C语言互操作(Interoperability)方面,Go更是提供了强大的支持。尤其是在Go中使用C,你甚至可以直接在Go源文件中编写C代码,这是其他语言所无法望其项背的。 在如下一些场景中,可能会涉及到Go与C的互操作: 1、提升局部代码性能时,用C替换一些Go代码。C之于Go,好比汇编之于C。 2、嫌Go内存GC性能不足,自己...阅读全文

CSDN博客 2014-07-16 15:18 xiaogugood

jquery和angular的ajax请求的区别

最近用angular替换我blog的部分页面。结果悲剧的发现,post请求到revel以后,revel的ParamsFilter解析不粗来参数。 看了下请求信息,发现jquery和angular的post请求是有些不同的。 jquery的content type是application/x-www-form-urlencoded,会把post的参数拼接到url上,格式如foo=bar&baz=moe这样的。 而angular里,默认content type 是application/json,数...阅读全文

Segmentfault 2014年01月23日 scottchen

深入 Go Playground 内幕

简介 2010年9月,我们介绍了Go Playground,这是一个完全由Go代码组成和返回程序运行结果的web服务器。 如果你是一位Go程序员,那你很可能已经通过阅读Go教程或执行Go文档中的示例程序的途径使用过Go Playground了。 你也可以通过点击 talks.golang.org上幻灯片中的“Run” 按钮或某个博客上的程序(比如最近一篇关于字符串的blog)而使用之. 本文我们将学习Go playground是如何实现并与其它服务整合的。其实现涉及到不同的操作系统和运行时间,这...阅读全文

Segmentfault 2013年12月16日 JeOam

用Go语言写HTTP中间件

在web开发过程中,中间件一般是指应用程序中封装原始信息,添加额外功能的组件。不知道为什么,中间件通常是一种不太受欢迎的概念。但我认为它棒极了。 其一,一个好的中间件拥有单一的功能,可插拔并且是自我约束的。这就意味着你可以在接口的层次上把它放到应用中,并能很好的工作。中间件并不影响你的代码风格,它也不是一个框架,仅仅是你处理请求流程中额外一层罢了。根本不需要重写代码:如果你想用一个中间件,就把它加上应用中;如果你改变主意了,去掉就好了。就这么简单。 来看看Go,HTTP中间件非常流行,标准库中也...阅读全文

Segmentfault 2013年12月12日 JeOam

Golang/Go语言/Go IDE/Go windows环境搭建/Go自动提示编译器/GoSublime

Go是Google开发的一种编译型,并发型,并具有垃圾回收功能的编程语言。 罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pike)及肯·汤普逊于2007年9月开始设计Go语言,Go语言是基于Inferno操作系统所开发的。Go语言于2009年11月正式宣布推出,并在Linux及Mac OS X平台上进行了实现. GO语言吉祥物,很可爱吧。 Go语言的hello world!代码: [java] view plaincopyprint? package main im...阅读全文

CSDN博客 2013-12-03 15:44 Iamduoluo

使用golang在与数据库访问过程中的一点想法

遇到的问题 golang对于基本类型初始化的处理,是自动给基本类型赋值为默认值。比如: var i int//在这里如果不对i做任何赋值,那么i的值为零 这个特性在很多地方能够避免访问到未初始化变量的尴尬,但是由此也引出了另外一个问题,就是在进行数据库访问操作时应该如果对待这样的默认值。 现在我们假设一个场景,表A有3个字段{AID int,AField1 string,AField2 string},表B也有3个字段{ID int,BField1 string,REF_AID int},其中表...阅读全文

Segmentfault 2013年12月09日 derek_334892

使用Go语言编写的跨平台的emlog整站(首页+文章)静态化工具

emlog_static.go 项目地址: https://github.com/johnlui/emlog_static.go ==================== 功能 新闻博客类非数据交互网站通用首页静态化 emlog博客系统文章页静态化 使用Go语言编写,跨平台 条件 需要能够管理服务器,需要编译、运行软件 需要Go语言编译环境,请去The Go Programming Language 下载 使用方法 两个文件单独编译,分别运行 emlog_static_homepage 首页静态...阅读全文

Segmentfault 2013年12月01日 JohnLui

Gox : 简单实在的Go平台交叉编译工具

Gox 是一个简单的,不花俏的Go平台交叉编译工具,它的用处就和标准的 go build 一样。Gox 会并行地为多种平台编译。Gox 同时也提供了一套交叉编译工具链。 Gox 项目地址:https://github.com/mitchellh/gox 安装 为了安装 Gox,请使用 go get。我们已经为版本打上了标签,所以可以随便切换标签进行编译: $ go get github.com/mitchellh/gox ... $ gox -h ... 用法 在你使用 Gox 之前,你必须先有...阅读全文

Segmentfault 2013年11月27日 JeOam

Go 语言4周岁啦

到2013年11月10日为止,Go语言已经四岁啦! Go语言是由2007年谷歌工程师Rob Pike, Ken Thompson和Robert Griesemer开始设计的一门全新的语言。2009年由Google发布。 在Go语言的官方博客上,Andrew Gerrand对Go的发展与成长进行了回顾。 从这张官方博客贴出的图片可以看出4年来用户在Google上搜索golang数量的增长。值得注意的是,2012年3月Go 1.0发布时,搜索数量猛增。近两年Go语言增长势头也很猛。 Go语言社区的发...阅读全文

Segmentfault 2013年11月19日 weakish

不是语言之争---Go vs Erlang

因为 云巴 系统对高并发、低延迟的需求,我们对各个语言、平台做了很多的调研比较工作。这自然就包括致力于开发高并发应用的 Go 和 Erlang。 并发 Go 对高并发的支持通过 goroutine 实现。goroutine 可以理解为轻量级的 线程(thread)。同一个 Go 应用创建的 goroutine 共享地址空间。 Erlang 的高并发通过轻量级 进程(process)实现,每一个进程都有独立的状态记录。 另外,使用 goroutine 要注意,goroutine 运行完毕后,占用的...阅读全文

Segmentfault 2015年06月11日 云巴

Google:C++、Java、Scala、Go四种语言性能对比

谷歌发布了一个研究报告,仔细比较了C + +、Java、Scala和谷歌自己拥有的Go编程语言的性能。 根据谷歌的测试报告(PDF格式),C + +是四种语言中运行速度最快的。 但是该文件同时也指出,优化代码相对困难,这需要相当的努力、熟练的水准,不是平均水平的程序员所能达到。 Go旨在消除至少这个限制一些,但它仍然是年轻的(它首次亮相大约一年,不过前半年只是一种“实验性”语言年),并在大多数谷歌测试中表现出,它落后于C + +以及Java和Scala。 “Go提供了有趣的语言特性:这是一个简洁...阅读全文

CSDN博客 2011-06-12 00:05 jianyi7659

最简单的HTTP SERVER

到了新单位总算有点闲了,接着倒腾HTTP。之前的文章可以参考:《基于TCP套接字,通过Golang模拟HTTP请求》和《基于TCP套接字,通过Golang模拟HTTP请求(续)》。 之前都是研究的客户端,现在来研究一下服务端。《HTTP权威指南》上面有一个非常简单的用perl开发的一个服务器,我就用大Golang照着写一个。HTTP协议是基于传输层的TCP协议,监听80端口。简单来写(复杂的我也不会),就是最简单的TCP监听,接收消息,处理并返回。我是参考的《Go socket编程实践: TCP...阅读全文

Cyeam 11 December 2015 Bryce

字符串横向对比:C、Golang、Redis

###C语言中的字符串 C语言的字符串是通过字符数组实现的,每个字符串以'\0'结束。C语言字符串的三大操作函数也是常见笔试题。 int strlen(char *s) { char *p = s; while (*p != '\0') p++ return p -s; } void strcpy(char *s, char *t) { int i; i = 0; while ((s[i] = t[i]) != '\0') i++; } void strcmp(char *s, char *t)...阅读全文

Cyeam 15 September 2015 Bryce

离线版的Golang官方文档

由于众所周知的原因,Golang不支持国内使用。当查文档或者升级版本的时候就会比较苦恼。有的时候实在是没辙,就用必应的缓存页看文档,下载升级包也是各种想辙。每次都很麻烦。 为了我自己能方便点用,我把Golang官方文档的页面都下载下来放在我的VPS上面。VPS也不是每天都能连得上,趁昨天有机会赶紧放上去,然后用CDN加速。链接: http://cyeam.com/go/pkg/index.html 这让我想起前几天看到的一条微博。说古巴的一个网站,架设在了万恶的美帝,万恶的美帝不让他们用这个网站...阅读全文

Cyeam 11 September 2015 Bryce

too many open files错误

大家都知道,最近我模仿binux大婶的pyspider的害羞组在线上跑了一段时间了。后来加入了一些新的东西,比如代理池等。看瞅着代码越来越靠谱了,结果突然有一天,发现抓取停止了,紧接着去看日志: 2015/08/12 23:18:22 Post http://api.duoshuo.com/posts/import.json: dial tcp: lookup api.duoshuo.com: too many open files 作为一个菜鸟,我哪知道这是啥啊。后来用Google去搜,发现这...阅读全文

Cyeam 27 August 2015 Bryce

Go的异常处理 defer, panic, recover

Go语言追求简洁优雅,所以,Go语言不支持传统的 try…catch…finally 这种异常,因为Go语言的设计者们认为,将异常与控制结构混在一起会很容易使得代码变得混乱。因为开发者很容易滥用异常,甚至一个小小的错误都抛出一个异常。在Go语言中,使用多值返回来返回错误。不要用异常代替错误,更不要用来控制流程。在极个别的情况下,也就是说,遇到真正的异常的情况下(比如除数为0了)。才使用Go中引入的Exception处理:defer, panic, recover。 这几个异常的使用场景可以这么简...阅读全文

CSDN博客 2013-06-06 21:23 wuwenxiang91322

Sublime Text 2搭建Go开发环境,代码提示+补全+调试

本文转自:http://blog.csdn.net/lvanneo/article/details/22681815,并做部分修改。 本文在已安装Go环境的前提下继续。 1、安装Sublime Text 2 2、安装Package Control。 运行Sublime,按下 Ctrl+`(`在Tab键上边),然后输入以下内容: import urllib2,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3...阅读全文

CSDN博客 2014-07-14 19:05 cceevv