
Golang
文章平均质量分 81
go基础 认准李文周大佬(liwenzhou.com)
JWei_7
这个作者很懒,什么都没留下…
展开
-
go 问题合集(持续更新)
go 问题合集 陆续更新原创 2023-03-05 16:38:39 · 329 阅读 · 1 评论 -
Go(十三)Error接口和错误处理
Go 语言中的错误处理与其他语言不太一样,它把错误当成一种值来处理,更强调判断错误、处理错误,而不是一股脑的 catch 捕获异常。原创 2022-11-17 11:50:24 · 467 阅读 · 0 评论 -
Go(十二) 接口
type 接口类型名 interface{方法名1( 参数列表1 ) 返回值列表1方法名2( 参数列表2 ) 返回值列表2…}其中:接口类型名:Go语言的接口在命名时,一般会在单词后面添加er,如有写操作的接口叫Writer,有关闭操作的接口叫closer等。接口名最好要能突出该接口的类型含义。方法名:当方法名首字母是大写且这个接口类型名首字母也是大写时,这个方法可以被接口所在的包(package)之外的代码访问。参数列表、返回值列表:参数列表和返回值列表中的参数变量名可以省略。原创 2022-11-17 10:36:15 · 564 阅读 · 0 评论 -
Go(十一) 包
我们可以根据自己的需要创建自定义包。一个包可以简单理解为一个存放.go文件的文件夹。该文件夹下面的所有.go文件都要在非注释的第一行添加如下声明,声明该文件归属的包。其中:package:声明包的关键字packagename:包名,可以不与文件夹的名称一致,不能包含-符号,最好与其实现的功能相对应。另外需要注意一个文件夹下面直接包含的文件只能归属一个包,同一个包的文件不能在多个文件夹下。包名为main的包是应用程序的入口包,这种包编译后会得到一个可执行文件,而编译不包含main。原创 2022-11-16 20:39:20 · 953 阅读 · 0 评论 -
Go(十)结构体
在Go语言中有一些基本的数据类型,如string、整型、浮点型、布尔等数据类型, Go语言中可以使用type关键字来定义自定义类型。自定义类型是定义了一个全新的类型。我们可以基于内置的基本类型定义,也可以通过struct定义。//将MyInt定义为int类型通过type关键字的定义,MyInt就是一种新的类型,它具有int的特性。类型别名与类型定义表面上看只有一个等号的差异,我们通过下面的这段代码来理解它们之间的区别。//类型定义//类型别名}结果显示a的类型是,表示main包下定义的。原创 2022-11-15 22:07:55 · 749 阅读 · 0 评论 -
Go(九)指针
要搞明白Go语言中的指针需要先知道3个概念:指针地址、指针类型和指针取值。原创 2022-11-15 18:50:09 · 320 阅读 · 0 评论 -
Go(八)函数
Go语言中定义函数使用funcfunc 函数名(参数)(返回值){函数体}函数名:由字母、数字、下划线组成。但函数名的第一个字母不能是数字。在同一个包内,函数名也称不能重名(包的概念详见后文)。参数:参数由参数变量和参数变量的类型组成,多个参数之间使用,分隔。返回值:返回值由返回值变量和其变量类型组成,也可以只写返回值的类型,多个返回值必须用()包裹,并用,分隔。函数体:实现指定功能的代码块。}fmt.Println("Hello 沙河")}我们可以使用type上面语句定义了一个。原创 2022-11-15 16:55:04 · 897 阅读 · 0 评论 -
Go(七)语言基础之map
Go语言中map其中,KeyType:表示键的类型。ValueType:表示键对应的值的类型。map类型的变量默认初始值为nil,需要使用make()函数来分配内存。其中cap表示map的容量,该参数虽然不是必须的,但是我们应该在初始化map的时候就为其指定一个合适的容量。原创 2022-11-15 00:45:00 · 604 阅读 · 0 评论 -
Go(六)切片
var name []T //和数组是一样的 只是不需要加数字其中,name:表示变量名T:表示切片中的元素类型// 声明切片类型var a []string //声明一个字符串切片var b = []int{} //声明一个整型切片并初始化var c = []bool{false, true} //声明一个布尔切片并初始化var d = []bool{false, true} //声明一个布尔切片并初始化。原创 2022-11-14 23:30:00 · 517 阅读 · 0 评论 -
Go(五)数组
var 数组变量名 [元素数量]T, 数组的长度必须是常量,并且长度是数组类型的一部分。一旦定义,长度不能变。[5]int和[10]int是不同的类型。a = b //不可以这样做,因为此时a和b是不同的类型数组可以通过下标进行访问,下标是从0len-1,访问越界(下标在合法范围之外),则触发访问越界,会panic(宕机)。{"北京", "上海"},{"广州", "深圳"},{"成都", "重庆"},}fmt.Println(a) //[[北京 上海] [广州 深圳] [成都 重庆]]原创 2022-11-14 23:00:00 · 279 阅读 · 0 评论 -
Go(四)流程控制
流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”。Go语言中最常用的流程控制有if和for,而switch和goto主要是为了简化代码、降低重复代码而生的结构,属于扩展类的流程控制。原创 2022-11-14 21:00:00 · 370 阅读 · 0 评论 -
Go(三)运算符
(自减)在Go语言中是单独的语句,并不是运算符。位运算符对整数在内存中的二进制位进行操作。原创 2022-11-14 20:45:00 · 330 阅读 · 0 评论 -
Go(二)基本数据类型
Go语言中有丰富的数据类型,除了基本的整型、浮点型、布尔型、字符串外,还有数组、切片、结构体、函数、map、通道(channel)等。Go 语言的基本类型和其他语言大同小异。原创 2022-11-13 09:42:04 · 418 阅读 · 0 评论 -
Go(一)变量和常量
Go于2009年发布,当时多核处理器已经上市。Go语言在多核并发上拥有原生的设计优势,Go语言从底层原生支持并发,无须第三方库、开发者的编程技巧和开发经验。很多公司,特别是中国的互联网公司,即将或者已经完成了使用 Go 语言改造旧系统的过程。经过 Go 语言重构的系统能使用更少的硬件资源获得更高的并发和I/O吞吐表现。充分挖掘硬件设备的潜力也满足当前精细化运营的市场大环境。Go语言的并发是基于 goroutine 的,goroutine 类似于线程,但并非线程。可以将 goroutine 理解为一种原创 2022-11-12 16:34:16 · 303 阅读 · 0 评论