go语言sort包 go语言strconv(11)


继续访问
golang中的字符串
在go中rune是一个unicode编码点 。我们都知道UTF-8将字符编码为1-4个字节,比如我们常用的汉字,UTF-8编码为3个字节 。所以rune也是int32的别名 。
继续访问
golang之字符串
Go语言的字符有两种类型: 一种是byte型,或者叫uint8类型,代表了ASCII码的一个字符 。一种是rune类型,或者叫int32类型,代表一个UTF-8字符,当需要处理中文、日文等unicode字符时,则需要用到rune类型 。...
继续访问
Golang的 string 类型
一点睛 字符串就是一串固定长度的字符连接起来的字符序列 。Go 的字符串是由单个字节连接起来的 。Go语言的字符串的字节使用 UTF-8 编码标识 Unicode 文本 。二 string 使用注意事项和细节 1 Go 语言的字符串的字节使用 UTF-8 编码标识 Unicode 文本,这样 Golang 统一使用 UTF-8 编码,中文乱码问题不会再困扰程序员 。2 字符串一旦赋值了,字符串就不能修改了,在 Go 中字符串是不可变的 。3 字符串的两种表示形式 。a 双引号——会识别转义字符 .
继续访问
Golang Strings 官方包常用方法,学会这些够用了
1.判断是否以某字符串打头/结尾 2.字符串分割 3.返回子串索引 4.字符串连接 5.字符串转化为大小写 6.统计某个字符在字符串出现的次数 7.判断字符串的包含关系 8.字符串替换
golang 协程什么时候切换应puppet大拿刘宇的邀请go语言sort包,我去西山居运维团队做了一个简短分享go语言sort包,谈谈为什么我要将我们的项目从python转向go 。
坦白的讲,在一帮python用户面前讲为什么放弃python转而用go其实是一件压力蛮大的事情,语言之争就跟vim和emacs之争一样,是一个永恒的无解话题,稍微不注意就可能导致粉丝强烈地反击 。所以我只会从我们项目实际情况出发 , 来讲讲为什么我最终选择了go 。
为什么放弃python
首先,我其实得说说为什么我们会选择python 。在我加入企业快盘团队之前 , 整个项目包括更早的金山快盘都是采用python进行开发的 。至于为什么这么选择,当时的架构师葱头告诉我,主要是因为python上手简单 , 开发迅速 。对于团队里面大部分完全没服务端开发经验的同学来说,python真的是一个很好的选择 。
python的简单高效,我是深有体会的 。当时私有云项目也就几个程序员,但是我们要服务多家大型企业,进行定制化的开发,多亏了python , 我们才能快速出活 。后来企业快盘挂掉之后,我们启动轻办公项目,自然也使用python进行了原始版本的构建 。
python虽然很强大 , 但我们在使用的时候也碰到了一些问题,主要由如下几个方面go语言sort包:
动态语言
python是一门动态强类型语言 。但是,仍然可能出现int + string这样的运行时错误 , 因为对于一个变量,在写代码的时候,我们有时候很容易就忘记这个变量到底是啥类型的了 。
在python里面 , 可以允许同名函数的出现,后一个函数会覆盖前一个函数 , 有一次我们系统一个很严重的错误就是因为这个导致的 。
上面说到的这些,静态语言在编译的时候就能帮我们检测出来,而不需要等到运行时出问题才知道 。虽然我们有很完善的测试用例 , 但总有case遗漏的情况 。所以每次出现运行时错误,我心里都想着如果能在编译的时候就发现该多好 。
性能
其实这个一直是很多人吐槽python的地方,但python有它适合干的事情,硬是要用python进行一些高性能模块的开发,那也有点难为它了 。
python的GIL导致无法真正的多线程,大家可能会说我用多进程不就完了 。但如果一些计算需要涉及到多进程交互,进程之间的通讯开销也是不得不考虑的 。

推荐阅读