go语言专题提供go语言的最新资讯内容,帮你更好的了解go语言。
在之前的 Go语言的国际化支持(基于gettext-go) 中, 讲到了如何翻译源代码中的字符串. 项目地址在: http://code.google.com/p/gettext-go. 文档在 godoc.org 或 gowalker.org . 根据评论的反馈(@羊半仙), 之前版本的缺少对资源文件的支持. 最近对 gettext-go 做了一些改进, 主要涉及以下几点: 支持资源文件的翻译
   网上有很多使用cgo的教程了,在这里分享一种非常简单的windows环境下完成cgo编译的方法。    首先,下载win环境下gcc下载:TDM gcc,安装后会自动加入到PATH下,cmd里就能使用gcc命令。我的电脑上cgywin在使用gcc总是会出问题,如果cgywin的gcc可以正常编译,就无须再另外下载gcc了。    编写含C语言的go文件: package cgotest
   本文主要介绍go语言中切片slice的增删修改操作。    如果我们需要往切片中追加元素,可以使用内置的append()函数。这个函数接受一个需要被追加的切片,以及一个或者多个需要被追加的元素。如果我们需要往一个切片中追加另一个切片,那么我们必须使用...操作符来告诉Go语言将被添加进来的切片当成多个元素。例: s := []string{"A", "B", "C", "D", "E", "
package main import ( "fmt" ) type Searchable interface { Len() int Less(int, int) bool Equal(int, interface{}) bool } type List []int func (l List) Len() i
由于最近一直在学习Golang,所以从本节起,所有设计模式学习笔记中的源码都由Golang来完成~ 命令模式:将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。 仔细看这个定义,我们知道一个命令对象通过在特定接收者(receiver)上绑定一组动作来封装一个请求。要达到这一点,命令对象将动作和接收者包进对象中。这个对象只暴露出一个execute()
博客原文出处:http://wuwen.org/article/17/01-goconfig-class1.html 注意事项 本博客隶属于 goconfig - 课时 1:goconfig 使用解析 请注意配套使用。 本博文为 goconfig - Go 语言 INI 解析器的配套博客,旨在通过文字结合代码示例对该库的使用方法和案例进行讲解,便于各位同学更好地使用和深入了解。 库简介 gocon
相信很多从C/C++转到Golang的朋友们都经常会对Go中的输入控制感到头疼。。。尤其是如果要在Go中模拟C语言中的如下代码会遇到不小困惑: char input[100]; while (1) { if (scanf("%s", input) == EOF) { printf("输入结束\n"); break; } } 上面这段代码在控制台中输入
Go轻松学 是我第一个完成并发布的Android App,这个App或许代表了我未来的职业发展走向。所以我决定写一点东西来纪念一下。 我两次学习Go语言,第一次是走马观花,看到Go独特的语法我就比较消极了,就像当初去学Ruby一样,所以就暂时放下了。 直到2013年年底,我有看起了Go,这个时候我发现Go真的是太有特点了,于是花了时间在上面努力学习了一下。学完之后,我总觉得自己 对它的印象还不深,
网际校验和算法适用于IP、TCP、UDP、ICMP等协议的校验。 func CheckSum(data []byte) uint16 { var ( sum uint32 length int = len(data) index int ) //以每16位为单位进行求和,直到所有的字节全部求完或者只剩下一个8位字节(如果剩余一个8位字节说明字节数为奇数个) for le
base64加密是我们经常看到的一种加密方法,比如ESMTP的验证过程和二进制文件的网际传输等都会用到这种编码。 base64的加密方法算是比较简单的一种了,其编码过程是将原文按照每 6bit (记住,是以'位'为单位的)为一组对原文进行替换,因为6bit 可以表示的值的范围在0~63(2的6次方,一共64个),所以可以用一个长度为64的字符表对这 6bit 的值进行映射。 这个映射表通常是A-Z
先写一个可以接收post请求的服务器: package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/postpage", func(w http.ResponseWriter, r *http.Request) { //接受post请求,然后打印表单中key和value字段的值 if r.Met
关于DNS协议的具体内容可以查看RFC1035,如果英语不太好我推荐下面这个人的译文: http://www.voidcn.com/article/p-xeasbmxg-qx.html 翻译的足够详尽了。 那么来看下Go的实现: package main import ( "bytes" "encoding/binary" "fmt" "net" "strings" ) type D
初学GO不到两周,本着熟悉语言的目标写了这个小程序,漏洞很多,实现上写的也有些渣渣,欢迎大家阅读指点。 下载地址:https://github.com/yinxin630/gochat 简单思路描述: 0、服务端监听客户端请求,完成会话转发的任务 1、服务端采用心跳包维护用户在线状态 2、客户端通知服务端自己的监听地址,创建服务端-客户端信息通道 服务端: package main import
算法的细节可以参考网上的资料或数据结构的相关教材,这里直接上代码了~ 鉴于本人技艺浅陋,有的地方写的可能不合理,代码略长,如果有改进之处,请留言指点,算法本身测试过了: package main import ( "fmt" ) func GetNextValueArray(sub []byte) (next []int) { var ( length int = len
golang简介          Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮丧。 golang官网 http://golang.org/ goland安装 下载地址: https://code.google.com/p/go/downloa
红黑树是一种基于二叉查找树的数据结构,它具有如下性质: (1)  二叉查找树的性质它都有 (2)  每个节点都有一个颜色属性,每个节点或是红的或是黑的 (3)  根节点必须是黑的 (4)  每个叶子节点(nil节点)为黑 (5)  如果一个节点为红的,那么它的两个孩子都是黑的 (6)  每个节点到它子孙叶子节点的路径上的黑色节点个数是相同的 相比二叉查找树,红黑树在添加或删除元素的同时还需要调整树
我为什么放弃Go语言 作者:庄晓立(Liigo) 日期:2014年3月 原创链接:http://blog.csdn.net/liigo/article/details/23699459 转载请注明出处:http://blog.csdn.net/liigo 有好几次,当我想起来的时候,总是会问自己:我为什么要放弃Go语言?这个决定是正确的吗?是明智和理性的吗?其实我一直在认真思考这个问题。 开门见山
原创翻译文章,转载请注明出处:服务器非业余研究-sunface   对于代码风格的争议由来已久:程序员在一段代码中到底该使用多少嵌套或者缩进结构。请先看看下面两个例子: 在第一个例子中,如果我们想在高亮代码附近进行debug,那么我们需要记住哪些呢? func (g *Gopher) WriteTo(w io.Writer) (size int64, err error) { err =
原创文章,转载请注明出处:服务器非业余研究-sunface   最近看谷歌go group里面有很多讨论go error处理风格的问题,颇有启发,现在跟大家分享一下,首先请看一个提问: Hi folks, When I look at a lot of go code, I see the following pattern: //当我看了许多go代码后,我发现了以下模式 x, err := fo
原创翻译文章,转载请注明出处:服务器非业余研究-sunface   简介       Go1.1更新中最重要的特性之一就是由Dmitry Vyukov开发的全新的调度器。新的调度器能极大的提高Go并行程序的性能并且不需要对程序进行修改,因此我认为应该写一篇文章为大家介绍下新版的调度器特性。       这篇文章所写的绝大部分内容都可以在original design doc找到 ——这是篇很有技术