Go基础
文章平均质量分 82
带你快速入门Go语言
林深见我
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
18.Go语言基础之单元测试
不写测试的开发不是好程序员。我个人非常崇尚TDD(Test Driven Development)的,然而可惜的是国内的程序员都不太关注测试这一部分。这篇文章主要介绍下在Go语言中如何做单元测试和基准测试。原创 2022-10-14 14:01:18 · 1160 阅读 · 0 评论 -
17.Go语言基础之网络编程
互联网的核心是一系列协议,总称为”互联网协议”(Internet Protocol Suite),正是这一些协议规定了电脑如何连接和组网。我们理解了这些协议,就理解了互联网的原理。由于这些协议太过庞大和复杂,没有办法在这里一概而全,只能介绍一下我们日常开发中接触较多的几个协议。原创 2022-10-14 13:55:58 · 291 阅读 · 0 评论 -
16.Go语言基础之处理并发错误
我们可以在Go语言中十分便捷地开启goroutine去并发地执行任务,但是如何有效的处理并发过程中的错误则是一个很棘手的问题,本文介绍了一些处理并发错误的方法。原创 2022-10-14 13:52:10 · 577 阅读 · 0 评论 -
15.Go语言基础之并发
下面的表格中总结了对不同状态下的通道执行相应操作的结果。**注意:**对已经关闭的通道再执行 close 也会引发 panic。原创 2022-10-14 13:49:37 · 261 阅读 · 0 评论 -
14.Go语言基础之反射
反射是指在程序运行期间对程序本身进行访问和修改的能力。程序在编译时,变量被转换为内存地址,变量名不会被编译器写入到可执行部分。在运行程序时,程序无法获取自身的信息。支持反射的语言可以在程序编译期间将变量的反射信息,如字段名称、类型信息、结构体信息等整合到可执行文件中,并给程序提供接口访问反射信息,这样就可以在程序运行期间获取类型的反射信息,并且有能力修改它们。Go程序在运行期间使用reflect包访问程序的反射信息。在上一篇博客中我们介绍了空接口。原创 2022-10-14 13:45:41 · 145 阅读 · 0 评论 -
13.Go语言基础之error接口
Go 语言中的错误处理与其他语言不太一样,它把错误当成一种值来处理,更强调判断错误、处理错误,而不是一股脑的 catch 捕获异常。原创 2022-10-14 13:44:08 · 299 阅读 · 0 评论 -
12.Go语言基础之接口
type 接口类型名 interface {方法名 1(参数列表 1) 返回值列表 1 方法名 2(参数列表 2) 返回值列表 2 … }接口类型名:Go语言的接口在命名时,一般会在单词后面添加er,如有写操作的接口叫Writer,有关闭操作的接口叫closer等。接口名最好要能突出该接口的类型含义。方法名:当方法名首字母是大写且这个接口类型名首字母也是大写时,这个方法可以被接口所在的包(package)之外的代码访问。参数列表、返回值列表:参数列表和返回值列表中的参数变量名可以省略。原创 2022-10-14 13:41:14 · 190 阅读 · 0 评论 -
11.Go语言基础之包
Go语言中支持模块化的开发理念,在Go语言中使用包(package)来支持代码模块化和代码复用。一个包是由一个或多个Go源码文件(.go结尾的文件)组成,是一种高级的代码复用方案,Go语言为我们提供了很多内置包,如fmt、os、io等。例如,在之前的章节中我们频繁使用了fmt这个内置包。") }上面短短的几行代码就涉及到了如何定义包以及如何引入其它包两个内容,接下来我们依次介绍一下它们。我们可以根据自己的需要创建自定义包。一个包可以简单理解为一个存放.go文件的文件夹。该文件夹下面的所有.go。原创 2022-10-14 12:07:25 · 627 阅读 · 0 评论 -
10.Go语言基础之结构体
在Go语言中有一些基本的数据类型,如string、整型、浮点型、布尔等数据类型, Go语言中可以使用type关键字来定义自定义类型。自定义类型是定义了一个全新的类型。我们可以基于内置的基本类型定义,也可以通过struct定义。//将MyInt定义为int类型 type MyInt int通过type关键字的定义,MyInt就是一种新的类型,它具有int的特性。类型别名与类型定义表面上看只有一个等号的差异,我们通过下面的这段代码来理解它们之间的区别。原创 2022-10-13 12:18:14 · 164 阅读 · 0 评论 -
9.Go语言基础之指针
区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。要搞明白Go语言中的指针需要先知道3个概念:指针地址、指针类型和指针取值。原创 2022-10-13 12:04:14 · 159 阅读 · 0 评论 -
8.Go语言基础之函数
func 函数名(参数)(返回值) {函数体 }函数名:由字母、数字、下划线组成。但函数名的第一个字母不能是数字。在同一个包内,函数名也称不能重名(包的概念详见后文)。参数:参数由参数变量和参数变量的类型组成,多个参数之间使用,分隔。返回值:返回值由返回值变量和其变量类型组成,也可以只写返回值的类型,多个返回值必须用()包裹,并用,分隔。函数体:实现指定功能的代码块。fmt . Println("Hello 沙河") }原创 2022-10-13 11:52:00 · 189 阅读 · 0 评论 -
7.Go语言基础之map
其中,KeyType:表示键的类型。ValueType:表示键对应的值的类型。map类型的变量默认初始值为nil,需要使用make()函数来分配内存。其中cap表示map的容量,该参数虽然不是必须的,但是我们应该在初始化map的时候就为其指定一个合适的容量。原创 2022-10-13 11:40:56 · 485 阅读 · 0 评论 -
6.Go语言基础之切片
其中,name:表示变量名T:表示切片中的元素类型// 声明切片类型 var a [ ] string //声明一个字符串切片 var b = [ ] int {} //声明一个整型切片并初始化 var c = [ ] bool {false , true } //声明一个布尔切片并初始化 var d = [ ] bool {原创 2022-10-13 11:15:04 · 194 阅读 · 0 评论 -
5.Go语言基础之数组
var 数组变量名 [ 元素数量 ] T比如:var a [5]int, 数组的长度必须是常量,并且长度是数组类型的一部分。一旦定义,长度不能变。[5]int和[10]int是不同的类型。var a [ 3 ] int var b [ 4 ] int a = b //不可以这样做,因为此时a和b是不同的类型数组可以通过下标进行访问,下标是从0开始,最后一个元素下标是:len-1,访问越界(下标在合法范围之外),则触发访问越界,会panic。{"北京" , "上海" } , {原创 2022-10-13 10:58:27 · 230 阅读 · 0 评论 -
4.Go语言基础之流程控制
流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”。Go语言中最常用的流程控制有if和for,而switch和goto主要是为了简化代码、降低重复代码而生的结构,属于扩展类的流程控制。原创 2022-10-13 10:50:35 · 171 阅读 · 0 评论 -
3.Go语言基础之运算符
运算符用于在程序运行时执行数学或逻辑运算。原创 2022-10-13 10:21:53 · 156 阅读 · 0 评论 -
2.Go语言基础之变量和常量
程序运行过程中的数据都是保存在内存中,我们想要在代码中操作某个数据时就需要去内存上找到这个变量,但是如果我们直接在代码中通过内存地址去操作变量的话,代码的可读性会非常差而且还容易出错,所以我们就利用变量将这个数据的内存地址保存起来,以后直接通过这个变量就能找到内存上对应的数据了。定义数量级 (这里的原创 2022-10-13 09:53:48 · 169 阅读 · 0 评论 -
1.Go语言基础之基本数据类型
Go语言中有丰富的数据类型,除了基本的整型、浮点型、布尔型、字符串外,还有数组、切片、结构体、函数、map、通道(channel)等。Go 语言的基本类型和其他语言大同小异。原创 2022-10-13 09:45:35 · 252 阅读 · 1 评论
分享