摘要:
一、面向过程和面向对象的区别 面向对象(Object Oriented,简称OO)和面向过程(Procedure Oriented,简称PO)是两种不同的编程思想。 1.1 面向过程的编程 面向过程编程(Process Oriented Programming,简称POP),以事物的发展过程为中心的 阅读全文
摘要:
在实际开发工作中,工程不会简单到只有一个源代码文件,且源文件之间有相互依赖的关系。Go语言利用命令行工具,消除了工程文件的概念,完全用目录结构和包名来推导工程结构和构建顺序。 一、包的由来 为了代码更好地维护和复用,Go语言程序按程序的功能性将源代码分割成一个个逻辑单元,组织成若干组文件,每组文件被 阅读全文
摘要:
一、结构体概述 Go语言结构体是一种聚合的数据类型,由一系列具有相同类型或不同类型的数据构成的数据集合。结构体的声明格式如图1所示,内部没有关键词var,每个数据称为结构体成员。例如,图1所示,利用结构体表示法,以一个班级为单位,记录这个班的班级名称,统计班级的总人数、男女生人数。定义一个结构体需要 阅读全文
摘要:
在C++、Java、C#语言里,使用map,需要先引用相应的库。在Go语言里,使用map不需要引入任何库,并且使用更加方便。在C++、Java、C#语言里,使用map,需要先引用相应的库。在Go语言里,使用map不需要引入任何库,并且使用更加方便。 一、概述 Go语言中的map(映射、字典)是一种内 阅读全文
摘要:
上一节介绍了切片的基础知识:切片的声明、空切片、切片和数组的区别、切片和底层数组的关联、切片的创建。这一节主要介绍切片的几个操作(遍历、追加、拷贝、插入、删除),最后介绍切片作为函数参数的传递方式。 一、切片的几个操作 1.1 对切片的遍历 类似于对数组的遍历,range结合for循环可以对切片进行 阅读全文
摘要:
上一章节我们已经了解了数组的特点:数组的长度在定义之后无法再次修改;数组是值类型,每次传递都将产生一份副本。数组的这种特点无法满足特定场景的开发需求,Go语言提供了更为灵活、功能强悍的内置类型——切片(slice)来弥补数组的不足。切片分为上、下两节。本节介绍切片的基础知识:切片的声明、空切片、切片 阅读全文
摘要:
数组是Go语言编程中最常用的数据结构之一。本节从以下角度介绍数组:数组的定义和基本要素、数组的声明和初始化、数组元素的编号及数组元素的获取和修改、数组变量之间的比较和赋值、指针数组和数组指针、数组作为函数参数的传递方式和二维数组。 一、数组定义和基本要素 1.1 数组的定义 数组是一系列已编号、长度 阅读全文
摘要:
一、基本概念 1.1 内存地址 电脑存储器由一个个存储单元构成,为了对存储器进行有效的管理,就需要对各个存储单元编号,即给每个单元赋予一个地址码,这叫编址。计算机里每个内存单元的地址码就是这个内存单元的内存地址。 1.2 指针变量 通过内存单元的内存地址能找到这个内存单元,那么这个内存地址叫作指针( 阅读全文
摘要:
上一节介绍了内置函数、自定义函数和变量作用域,本节主要介绍匿名函数与闭包、函数的延迟调用、递归函数。 一、匿名函数与闭包 1.1 定义匿名函数与闭包的定义如表1所示。 注:a. 闭包就是通过匿名函数“捕获”和它在同一作用域的其它常量和变量。b. 当闭包被调用的时候,不管在程序什么地方调用,闭包都能使 阅读全文
摘要:
函数这一章节主要分为五个部分讲解,分别为:内置函数、自定义函数、变量作用域、匿名函数与闭包、递归函数。本节讲解内置函数、自定义函数和变量作用域。 一、内置函数 1.1 常见的内置函数常见的内置函数如表1所示。 1.2 内置函数的调用过程 1.2.1 步骤 第一步:先导入该函数所在的包;第二步:再调用 阅读全文