包含标签 GoStudy 的文章

Go总结(四)| 类型方法(Method)

Go语言没有复杂的class概念,严格来说不是面向对象的语言,她和C语言很像,是面向函数的;Go中函数用关键字func来声明。Go没有class但是有struct、interface,可以把他们理解成类型定义;问题来了,有一种用func声明的函数可以指定struct、interface类型的接收者,这种函数在Go语言中单独叫做方法;方法的……

阅读全文

Go总结(三)| 函数传值和传指针的区别

其实Go语言函数中所有的传参传递的都是拷贝。只不过有的copy是值类型的副本,有些copy是指针类型的副本。 Go语言实战 《Go语言实战》这本书有下面这两段描述。 内置类型是由语言提供的一组类型。我们已经见过这些类型,分别是数值类型、字符串类型和布尔类型。这些类型本质上是原始的类型。因此,当对这些值进行增加或者删除的时候,会创建一个新 ………

阅读全文

Go总结(二)| 类型占用内存大小探究

数据类型的本质是内存空间,每种语言都有大量丰富的预定义类型,以方便开发。每种数据类型究竟占用多少内存空间呢?我相信很多学编程的人并不十分清楚这个问题,然而要想写出高质量的代码、设计高效的数据结构、开发优良的底层工具类项目;对内存空间的了解就很有必要了,这样才能尽可能节省内存空间,提高CPU和缓存之间的命中率,进而提高核心代码的性能。 基础 ………

阅读全文

Go总结(一)| 数据类型的本质

每种编程语言都设计了自己的数据类型系统,数据类型的本质是什么? 我上大学才开始接触计算机的概念(太晚了),老师说现代计算机叫存储程序式计算机(冯诺依曼体系结构),现在我更直白的理解就是计算机是由CPU + IO设备组成的。IO设备就是数据,CPU就是对这些数据进进出出一顿算。我们常说的内存是IO设备的一种,IO设备种类繁多不好说清楚问题, ………

阅读全文