随笔分类 -  Go专题精讲

摘要:函数(function)——把函数作为值保存到变量中 在 Go 语言中,函数也是一种类型,可以和其他类型一样被保存在变量中。下面的代码定义了一个函数变量 f,并将一个函数名 fire() 赋给函数变量 f,这样调用函数变量 f 时,实际调用的就是 fire() 函数,代码如下: package ma 阅读全文
posted @ 2022-02-15 17:07 左扬 阅读(130) 评论(0) 推荐(0) 编辑
摘要:函数(function)—— 声明函数+函数参数传递效果示例 函数是组织好的,可重复使用的,用来实现单一或相关功能的代码段,其可以提高应用的模块性和代码的重复利用率。 Go 语言支持普通函数、函数匿名和闭包,从设计上对函数进行了优化和改进,让函数使用起来更加方便。 Go 语言的函数属于 “一等公民” 阅读全文
posted @ 2022-02-15 16:59 左扬 阅读(990) 评论(0) 推荐(0) 编辑
摘要:列表(list)——可以快速增删的非连续空间的容器 1.1、列表原理 列表是一种非连续存储的容器,由多个节点组成,节点通过一些变量记录彼此之间的关系。列表有多种实现方法,如单链表、双链表等。 列表的原理可以这样理解:假设 A、B、C 三个人都有电话号码,如果 A 把号码告诉给 B,B 把号码告诉给 阅读全文
posted @ 2022-02-15 10:48 左扬 阅读(794) 评论(0) 推荐(0) 编辑
摘要:映射(map)——建立事物关联的容器 在业务和算法中需要使用任意类型的关联关系时,就需要使用到映射,如学号和学生的对应、名字与档案的对应关系等。 Go 语言提供的映射关系容器为 map。map 使用散列表(hash)实现。 大多数语言中映射关系容器使用两种算法:散列表和平衡树。散列表可以简单描述为一 阅读全文
posted @ 2022-02-14 17:06 左扬 阅读(214) 评论(0) 推荐(0) 编辑
摘要:切片(slice)(动态分配大小的连续空间) Go 语言切片的内部结构包含地址、大小和容量。切片一般用于快速地操作一块数据集合。 1.1、从数组或切片生成新的切片 切片默认指向一段连续内存区域,可以是数组,也可以是切片本身。 从连续内存区域生成切片是常见的操作。格式如下: slice [开始位置:结 阅读全文
posted @ 2022-02-14 14:13 左扬 阅读(1200) 评论(0) 推荐(0) 编辑
摘要:数组(固定大小的连续空间) 数组是一段固定长度的连续内存区域。 在 Go 语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化。 Go 语言中的数组概念和 C 语言的数组概念完全一致。C 语言的数组也是一段固定长度的内存区域,数组的大小在声明时固定下来。 1.1、声明数组 数组的 阅读全文
posted @ 2022-02-12 19:09 左扬 阅读(276) 评论(0) 推荐(0) 编辑
摘要:类型别名(Type Alias) 类型别名是 Go 1.9 版本添加的新功能。主要用于代码升级、迁移中类型的兼容性问题。 在 C/C++ 语言中,代码重构升级可以使用宏快速定义新的一段代码。Go 语言中没有选择加入宏,而是将解决重构中最麻烦的类型名变更问题。 1.1、区分类型别名与类型定义 类型别名 阅读全文
posted @ 2022-02-09 22:11 左扬 阅读(1089) 评论(0) 推荐(0) 编辑
摘要:字符串应用 字符串类型在业务中的应用可以说是最广泛的,所以本节汇总下常见的用法,会不断的更新补充。 1.1、计算字符串长度 内建函数 len(),可以用来获取切片、字符串、通道(channel)等的长度。 package main import "fmt" func main() { a := "w 阅读全文
posted @ 2022-02-09 17:03 左扬 阅读(374) 评论(0) 推荐(0) 编辑
摘要:变量能够使用的代码范围(堆、栈和变量逃逸) 讨论变量声明周期之前,先来了解下计算机组成里两个非常重要的概念:堆和栈。 1、什么是栈? 栈(stack)是一种拥有特殊规则的线性表数据结构。 1.1、概念 栈只允许往线性表的一端放入数据,之后在这一端取出数据,按照后进先出(LIFO,Last In Fi 阅读全文
posted @ 2022-02-09 10:33 左扬 阅读(104) 评论(0) 推荐(0) 编辑
摘要:指针 指针概念在 Go 语言中被拆分成为两个核心概念: 类型指针:允许对这个指针类型的数据进行修改。传递数据使用指针,而无须拷贝数据。类型指针不能进行偏移和运算。 切片:由指向起始元素的原始指针、元素数量和容量组成。 C/C++ 中指针饱受诟病的根本原因是指针运算和内存释放。 C/C++ 语言中的裸 阅读全文
posted @ 2022-02-07 16:44 左扬 阅读(220) 评论(0) 推荐(0) 编辑
摘要:搭建Go开发环境 安装 Go 语言的开发包后,可以选择安装集成开发环境(Integrated Development Environment,IDE)或者编辑器来提高开发效率。 集成开发环境中,推荐使用 Jetbrains 公司开发的 GoLand。也可以考虑微软公司开发的 Visual Studi 阅读全文
posted @ 2022-02-07 11:43 左扬 阅读(398) 评论(0) 推荐(0) 编辑
摘要:如何安装 Go 语言开发包? 要学 Go 语言,首先要学会 Go 语言开发包的安装和使用。 Go 语言的开发包可以在以下网站下载: golang 中国,地址:https://www.golangtc.com/ Go 语言官方网站,地址:https://go.dev/ 以 Go 语言官方网站为例,go 阅读全文
posted @ 2022-02-07 11:06 左扬 阅读(782) 评论(0) 推荐(0) 编辑
摘要:计算中的异常处理 Go 语言处理程序运行异常的方法与目前大多数主流开发语言都有所不同,不是使用常见的 try-catch 代码块的方式,而是使用了 panic-defer-recover 机制。 1、Go语言的匿名函数 Go 语言中文支持匿名函数(anonymous function),这是一个高级 阅读全文
posted @ 2021-09-03 11:42 左扬 阅读(137) 评论(0) 推荐(0) 编辑
摘要:Go语言表达式 表达式表达的是一个计算过程,参与该计算过程的有数值、常量与变量、操作符(包括运算符)、函数等,表达式最终计算的结果一般是一个数值。简单地说,表达式就是通过一组计算获取某个结果值的算式。 1.1 最简单的表达式——单个数值 由于表达式最终计算的结果是一个数值,因此也可以反过来说,程序中 阅读全文
posted @ 2021-09-02 17:11 左扬 阅读(480) 评论(0) 推荐(0) 编辑
摘要:tools包——编写自己的函数库 我们如何建立一个自己的函数库(也就是一个非执行包),后面将逐步编写一些有用的函数放在这个包中统一管理,供其他演示代码调用。 我们把这个包起名为 "tools',表示它是一些工具类的函数。 编写该函数的原因是,fmt 包中有 Println 函数 和 Printf 函 阅读全文
posted @ 2021-09-02 16:19 左扬 阅读(362) 评论(0) 推荐(0) 编辑
摘要:变量、函数等标识符声明的作用范围 在代码中声明的常量、变量、自定义数据类型、函数等标识符都有一定的作用范围,也就是说这些标识符只能在一定范围内使用,超出范围后使用会出现错误。 上述代码中,我们本希望最后一条 fmt.Printf("b=%v\n",b) 语句输出 b 的值为15,但实际上这段代码编译 阅读全文
posted @ 2021-09-02 15:59 左扬 阅读(172) 评论(0) 推荐(0) 编辑
摘要:格式化输出函数 fmt.Printf 编程开发过程中,经常需要通过输出各种信息来辅助调试代码。一般来说,我们建议通过 fmt 包中的 Println 和 Print 函数,也有使用内置函数 println 和 print 来输出打印信息。 这些函数都有一定的局限性,即在输出格式上只能按照系统默认格式 阅读全文
posted @ 2021-08-30 16:42 左扬 阅读(1125) 评论(0) 推荐(0) 编辑
摘要:Go 常用的辅助性内置函数 Go 语言中的一些函数在安装了 Go 语言后可以直接在代码中使用,无须引用任何包,这些函数叫作内置函数(built-in function)。内置函数往往是编程时大多数情况下都会使用到的函数。 1、 内置的输出信息函数 print 与 println package ma 阅读全文
posted @ 2021-08-30 16:06 左扬 阅读(134) 评论(0) 推荐(0) 编辑
摘要:代码格式化工具 gofmt Go 语言中的格式要求如此严格,是否会给开发者带来很多麻烦呢?Go 语言的设计团队显然已经考虑到了这个为,因此提供了相应的工具来帮助开发者避免大部分重复性的格式上的工作。这个工具就是 gofmt,在安装完 Go 语言安装包之后可以直接通过命令行运行 gofmt 软件进行代 阅读全文
posted @ 2021-08-30 16:03 左扬 阅读(728) 评论(0) 推荐(0) 编辑
摘要:Go语言语法要素与代码规范 1 Go语言语法要素与代码规范 Go 语言的语法有两个主要特点:简约与严谨。Go 语言是一门比较讲究代码书写规范的语言,在代码格式和内容上都有一定的要求,有些地方甚至达到了严苛的程度。这是因为 Go 语言的设计者希望能够通过规范代码的编写,减少出现错误的可能性,并使代码更 阅读全文
posted @ 2021-08-26 20:57 左扬 阅读(561) 评论(0) 推荐(0) 编辑

levels of contents
点击右上角即可分享
微信分享提示