go

go语言的排序和搜索

晚上准备动手写点 go 的程序的时候,想起 go 如何排序的问题。排序 sort 是个基本的操作,当然搜索 search 也是。c 提供一个 qsort 和 bsearch,一个快排一个二分查找,不过是使用起来都不方便; c++ 中的 sort 貌似很不错,因为 c++ 支持泛型(或是说模板),所以很多东西使用起来很方便。go 是通过 sort 包提供排序和搜索,因为 go 暂时不支持泛型(将来也不好说支不支持),所以,go 的 sort 和 search 使用起来跟类型是有关的,或是需要像 c 一样写比较函数等,稍微显得也不是很方便。

补注: 近来又看 go 的排序, 发现以前对 go 的排序理解的有点浅了。 go 的排序思路和 c 和 c++ 有些差别。 c 默认是对数组进行排序, c++ 是对一个序列进行排序, go 则更宽泛一些,待排序的可以是任何对象, 虽然很多情况下是一个 slice (分片, 类似于数组),或是包含 slice 的一个对象。

排序(接口)的三个要素:

Tags: 

Go的内存模型

Golang 官网有一个单独的页面介绍 —— Go的内存模型。me 这里算是将它翻译一下,然后配几个小程序,再加点(个人)说明。me 表示对某些东西也不是太懂,赶脚有些地方有些模糊,甚至有些奇怪。翻译水平有限,不要骂 me,O__O"…

Tags: 

若干个神奇的程序

有时候程序神奇怪,很 bt,很不合逻辑,但是就是那么回事。前几天在 oschina 上就看到一个“平方根倒数速算法”的程序。

Tags: 

go官网的7个例子分析

go 语言或是 golang 的官网首页上有 7 个例子代码,赶脚灰常好,赶脚值得写篇文章简单分析一下 —— 虽然第 6 个例子不是太懂,貌似是个玩游戏的。

Tags: 

在windows/linux下搭建go开发环境

本篇博客主要是介绍在 windows 下搭建 go 开发环境,因为 linux 下相对 windows 甚至更方便一些 (really?);如果你是关心的是 linux 的安装,直接跳到 linux 下安装 go 吧。废话不多说,去 go 的官网,下载 go 的 windows 版本。有 zip 文件下载,直接解压缩使用,不用选择 msi 安装。或是你直接到 golang:windows下安装go

说点废话。me 为嘛选择 zip 而不是 msi 呢?相对来说,me 更喜欢绿色软件,解压之后基本就可以使用了,不过有个缺点就是,us 需要自己注册环境变量(相信对于程序猿来说介太 easy 了)。msi/exe 的工作之一就是解压缩,另一些就是自动添加某些环境变量,还可能就是往注册表中写入一些东西。好吧,me 喜欢 zip。

Tags: 

从例子中学习 go 语言 —— 方法、接口以及并发

本篇本来是接着上一篇的,本篇是 go 的关于方法、接口以及并发的一些例子;上一篇是关于数据结构以及指针的,上上一篇是关于基本语法以及结构的,基本类型、函数、for、if 等等。

Tags: 

从例子中学习 go 语言 —— 数据结构、指针

本篇本来是接着上一篇的,但是一篇过长,效果不好。上一篇是关于基本语法以及结构的,基本类型、函数、for、if 等等,这里的是关于数据结构以及指针的,下一篇是关于方法、接口以及并发的。

Tags: 

从例子中学习 go 语言 —— 基本语法

go 语言或是 golang 官网上有个 tour。从例子中学习一门语言虽然具有片面性,但是往往是一个入门的好方法;如果一开始就去是看手册的话,有些凌乱,摸不着头脑,有点看字典的味道。所以,先从例子中学习,然后再系统的学习,应该是个不错的方法。

本篇文章基本按照 tour 的步骤,跑跑例子,从例子中去猜测/分析 go 的语法以及结构等,一定程度上可以锻炼一下,观察和分析能力。

Tags: 

go 语言学习

兴之所至!已经记不清神马时候听说了 Go 语言,百度搜了一下,是 Google 推出的语言,集各种语言之优点,不过网上褒贬不一。2012 年 11 月 11 号左右就想去学学(通过本篇日志的时间也许 u 会发现介一点),记得貌似学了一段时间,前前后后断断续续有一个月吧。后来渐渐滴渐渐滴就没有学了。

昨天晚上(2013 年 05 月 11 号)去听了一个人的报告,一个已经工作了 10 来年的人讲运维,真是大开眼界,赶脚纸己完全就是——井底之蛙,O__O"…期间提起了 Python、NodeJS 和 Go 等,建议 me 们都去看看,“前后通吃”。貌似着重说了下 Go,因为它最年轻丫,NodeJS 虽然也年轻,但是 JavaScript 并不年轻。Go 09 年出现,12 年才推出一个 1.0 的版本,这几天才到 1.1rc3 版本,听说主要在性能上有所改进,语言变动的不多。[补充一下:主讲运维的那个人提了管理运维自动化的三个(脚本?)语言:bash + sed + awk。]

Tags: