刘老貘

LV1
发表了文章

Go语言设计和工具链核心团队成员介绍

大名鼎鼎、如雷贯耳,Unix操作系统的发明人之一(排在第一号),C语言前身B语言的设计者,UTF-8编码设计者之一,图灵奖得主。老爷子今年快76岁了(1943年...

刘老貘
GoC++gcc
发表了文章

在Go编程中不能假设[]byte(aString)转换得到的结果切片的容量和长度肯定一致

当使用标准Go编译器1.12版本编译此程序时,它的运行结果很可能正如很多Go程序员所料,如下所示:

刘老貘
Go
发表了文章

Go标准编译器所做的一些优化

本博的另两篇文章中已经介绍了Go标准编译器对字符串和字节切片之间相互转换所做的一些优化和边界消除优化。下面将介绍Go标准编译器(截至Go SDK 1.12.x)...

刘老貘
Go
发表了文章

Go标准编译器优化:边界检查消除(bounds check elimination)

从Go SDK 1.7开始,Go标准编译器开始支持边界检查消除。此优化避免了很多不必要的边界检查,从而使得编译器编译出的程序执行效率更高。

刘老貘
Go
发表了文章

Go编程中舍弃表达式中可选的结果值对程序行为的影响

在上面这个例子中,上述操作中的第二个可结果值都呈现出来了。如果这些结果不呈现出来,并且它们的值为false时,这些操作的行为会发生改变吗?让我们写一个小例子来测...

刘老貘
Go
发表了文章

Go标准编译器对字符串和字节切片之间的转换操作所做的一些优化

Go标准编译器在某些情形下,对这两种转换进行了优化,从而避免了复制字符串或者字节切片的字节序列。下面将列出这些情形。

刘老貘
Go
发表了文章

Go语言中字节切片(byte slice)相关的编译器漏洞和标准库设计失误

假如一个类型MyByte定义如下,如何将一个[]MyByte切片值和一个[]byte切片值互相转换为对方的类型?

刘老貘
Go
发表了文章

Go编程中很多场合下使用append来克隆切片常常比使用copy高效得多

从这个结果可以看出,使用append来克隆切片比使用make+copy要高效得多。使用make+copy相对低效的原因是make需要将其开辟出的每个元素置零,这...

刘老貘
IDE
发表了文章

Go编程中如何声明支持有默认值的可选参数的函数?

我们知道,Go中的函数是不支持带默认值的可选参数的。这是Go语言的设计者为了保证代码可读性特意抛弃的功能。那么我们真得无法在Go编程中声明带有默认参数的函数吗?

刘老貘
Go
发表了文章

在Go编程中如何完美地克隆一个切片

对于第一种方法来说,如果源切片a为一个nil切片,则结果切片b却不是一个nil切片,而是一个长度为0的空切片。

刘老貘
Go
发表了文章

Go中某些语句中的表达式之间的相对估值顺序未定义

Go语言中有很多独特的设计,也有很多从其它语言借鉴过来的设计。总体上看,Go和C语言的血缘最近。事实上,我们可以将Go语言称为C+语言。相对于C语言,Go语言的...

刘老貘
Go
发表了文章

两个Go语言编程小技巧

我们可以使用一个for-range循环遍历一个尺寸为零的数组值来模拟for i in 0..N。比如,下面这个循环将打印出0到9这十个数字。

刘老貘
Go
发表了文章

Go值比较规则和其中的一些细节

在Go中,两个类型确定值是否可以比较取决于这两个值的类型是否相同或者其中的一个是否可以隐式转换为另一个的类型。另外一条规则是不可比较类型的值不能参与比较。此第二...

刘老貘
Go
发表了文章

Go编程中的一些编译时刻断言技巧

有时候,我们希望在编译时刻就能够判断某些条件是否成立,而不是等到运行时刻报错。但是Go并没有提供在编译时刻直接判断某个条件是否成立的功能。那么该如何做到这一点呢...

刘老貘
Go
发表了文章

2019,Go GUI项目爆发的一年?

目前Go语言主要活跃在区块链、云计算、命令行工具和后端服务等领域。这些领域基本上和GUI关系不大。近来出现了很多跨平台的Go GUI项目。虽说用井喷之势形容有些...

刘老貘
GUIGo

个人简介

个人成就

  • 获得 65 次赞同
  • 文章被阅读 4.6K 次

扫码关注云+社区

领取腾讯云代金券