
Golang基础
文章平均质量分 88
Go语言学习基础
周小末天天开心
这个作者很懒,什么都没留下…
展开
-
Golang中文件目录操作的实现
文件和文件目录的概念以及文件目录中读取文件、写入文件、复制文件原创 2023-05-30 07:16:57 · 3672 阅读 · 82 评论 -
Golang中的管道(channel) 、goroutine与channel实现并发、单向管道、select多路复用以及goroutine panic处理
管道(channel)、goroutine与channel实现并发、单向管道、select多路复用、goroutine panic处理原创 2023-05-22 22:57:18 · 4812 阅读 · 69 评论 -
Golang中的协程(goroutine)
进程、线程、并发、并行以及协程(goroutine)中的使用sync.WaitGroup等待协程执行完毕,多协程和多线程原创 2023-05-20 23:51:28 · 3242 阅读 · 29 评论 -
深入了解Golang中的反射机制
反射是指在程序运行时动态地检查和修改对象的能力。在Go语言中,通过反射可以在运行时检查变量的类型、获取结构体字段和方法的信息,以及动态调用方法等操作。反射在一些需要处理未知类型或需要在运行时进行动态操作的场景中非常有用。原创 2023-05-28 01:11:35 · 3769 阅读 · 93 评论 -
一文搞懂Golang中的接口
Go语言中的接口,空接口和类型断言 ,结构体实现多接口,接口嵌套以及结构体值接收者和指针接收者实现接口的区别原创 2023-05-19 16:32:45 · 1726 阅读 · 46 评论 -
Golang指针的操作以及常用的指针函数
指针的操作:定义指针、获取变量地址、 解引用指针、 指针作为函数参数、 指针的空值 ;常用的指针函数: new 函数 、make 函数、 append 函数 、copy 函数。原创 2023-05-18 16:55:16 · 1017 阅读 · 13 评论 -
Golang中函数的使用
函数的基础知识以及函数的特点和函数的使用原创 2023-05-16 09:21:37 · 2829 阅读 · 56 评论 -
Golang结构体入门
Go语言中结构体基础知识与以及结构体基础、结构体示例、为结构体定义方法、组合结构体 、嵌套结构体、指针结构体、匿名字段、面向对象原创 2023-05-15 09:15:16 · 773 阅读 · 12 评论 -
Golang中互斥锁和读写互斥锁
在Go语言中,互斥锁(Mutex)是一种基本的同步原语,用于实现对共享资源的互斥访问。互斥锁通过在代码中标记临界区来控制对共享资源的访问,从而保证同一时间只有一个 goroutine 可以访问共享资源,避免了并发访问时的数据竞争和不一致性问题。互斥锁的主要方法包括两个,分别是 Lock 和 Unlock。Lock 方法用于锁定共享资源,防止其他 goroutine 访问;Unlock 方法则用于解锁共享资源,允许其他 goroutine 访问。原创 2023-05-24 23:49:38 · 2424 阅读 · 44 评论 -
Golang中map基础
map底层是基于哈希表实现的,map使用哈希表来存储键值对,通过哈希函数将键映射为哈希值,用哈希值作为数组的下标,将值储存在以哈希值为下标的数组槽中。map中的元素是键值对(key-value)的形式存储的,其中键必须是支持==比较运算符的类型,如string、数字类型、char等;Map的key类型:Map的key可以是任意可比较类型,如整数、浮点数、字符串、数组、结构体等,但不可以是切片、函数、Map等不可比较类型。Map的元素遍历顺序:Map的元素遍历顺序是随机的,不保证元素的顺序。原创 2023-05-13 16:11:11 · 1163 阅读 · 4 评论 -
Golang中的数组和切片
(4)数组可以作为参数传递给函数,但是因为数组的长度是固定的,因此数组的长度也需要作为参数传递;切片可以直接作为参数传递给函数,不需要指定长度。(2)数组是值类型,将一个数组赋值给另一个数组时,会将所有的元素进行复制;切片是引用类型,将一个切片赋值给另一个切片时,它们将共享底层数组。(3)数组可以使用==运算符进行比较,切片不能使用==运算符进行比较。(1)数组的长度固定,切片的长度是动态的。原创 2023-05-11 07:32:19 · 959 阅读 · 0 评论 -
Golang中的运算符
Go语言中的赋值运算符包括简单赋值、加等于、减等于、乘等于、除等于、模等于、与等于、或等于、异或等于等。Go语言中的关系运算符包括等于、不等于、大于、小于、大于等于和小于等于等。需要注意的是,比较运算符只能用于可比较的类型,例如整数、浮点数、字符串、指针等。Go语言中还有一些其他的运算符,例如取地址运算符&、指针运算符*、sizeof运算符等。需要注意的是,取地址运算符和指针运算符只能用于指针类型,而sizeof运算符只能用于静态类型。用于进行基本的算术运算,包括加法、减法、乘法、除法、取模等。原创 2023-05-10 14:13:05 · 1153 阅读 · 0 评论 -
Go语言字符串基础
(1)strings.Contains(s, substr) 判断字符串s是否包含子串substr(2)strings.Index(s, substr) 返回子串substr在字符串s中第一次出现的位置,如果不存在则返回-1(3)strings.LastIndex(s, substr) 返回子串substr在字符串s中最后一次出现的位置,如果不存在则返回-1。原创 2023-05-09 07:20:16 · 716 阅读 · 0 评论 -
Go语言中的流程控制语句
在Go语言中,可以在if后面加上一段执行语句,执行语句也可以用作对if条件的判断。a赋值为condition()方法的结果,然后让a与nil进行判断,如果为true,那么会执行代码块中的代码,否则不执行,而且a的作用域只会在这条语句的范围内。原创 2023-05-08 07:56:18 · 821 阅读 · 0 评论 -
Go语言的基础语法以及变量和常量
在一个const声明语句中,在第一个声明的常量所在的行,iota会被置为0,然后每有一个常量声明的行iota的值就加1。例如int类型默认为0、float类型默认为0.0、bool类型默认为false,string类型默认为空字符串,指针类型默认为nil。表示在函数体内声明的变量称为局部变量,它的作用域只在函数体内,它的参数的返回值的变量也是局部变量。变量声明以关键字var开头,中间为变量名,最后为变量类型,无需分号结尾。其中,var是变量声明的关键字,age是变量名,int是变量的类型。原创 2023-05-05 00:22:05 · 574 阅读 · 1 评论