摘要: 1. 方法的定义 方法总是绑定对象实例,并隐式的将实例作为第一实参(receiver),receiver可以是基础类型,也可以是指针类型,这会关系到是否需要有可以修改对象实例的能力。 2. 方法的声明和调用 方法的创建语法: func (recevier type) methodName(参数列表) 阅读全文
posted @ 2023-03-07 18:30 XIN-0808 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 1. 结构体定义 Golang没有类(class),Go语言的结构体(struct)和其它编程语言的类(class)有同等的地位,你可以理解Gelang是基于struct来实现OOP特性的。 结构体由一系列命名的元素组成,这些元素又被称为字段,每个字段都有一个名称和一个类型。 2. 结构体创建 需要 阅读全文
posted @ 2023-03-07 18:29 XIN-0808 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 1. 映射的定义 map是一种无序的基于key-value的数据结构,Go语言中map是引用类型,必须初始化(make)才能使用。 map定义: map[KeyType]ValueType 其中,KeyType表示键的类型,ValueType表示对应值的类型。 map中,key值是不可以重复的,(若 阅读全文
posted @ 2023-02-24 11:15 XIN-0808 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 1.切片的定义 切片(slice)是对数组一个连续片段的引用,所以切片是一个引用类型。 切片的使用与数组类似,遍历,访问切片元素等都一样。切片是长度是可以变化的,因此切片可以看做是一个动态数组。 一个切片由三个部分构成:底层数组的指针、长度(len)和容量(cap),指针指向该切片自己第一个元素对应 阅读全文
posted @ 2023-02-23 16:51 XIN-0808 阅读(74) 评论(0) 推荐(0) 编辑
摘要: panic 在函数中如果书写并触发了panic语句,会终止其后要执行的代码。 在panic所在函数内如果存在要执行的defer函数列表,则按照defer书写顺序的逆序执行。 panic所在函数被其他函数调用,则调用函数在调用代码后面的代码都不会执行,如果存在defer语句,一样逆序执行。在代码最后, 阅读全文
posted @ 2023-02-22 17:31 XIN-0808 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 1. 统计字符串的长度,按字节进行统计 package main import "fmt" func main() { var s1 string = "hello,世界" fmt.Printf("s1字符串的长度为:%v", len(s1)) //汉字为utf-8为3个字节 } 执行结果 s1字符 阅读全文
posted @ 2023-02-22 17:01 XIN-0808 阅读(80) 评论(0) 推荐(0) 编辑
摘要: defer关键字的作用 defer 会在当前函数或者方法返回(return)之前执行传入的函数。它会经常被用于关闭文件描述符、关闭数据库连接以及解锁资源。 在go语言中,程序有defer语句并不会马上执行,而是会进入一个栈,函数return前,会按先进后出的顺序执行。也说是说最先被定义的defer语 阅读全文
posted @ 2023-02-21 15:42 XIN-0808 阅读(24) 评论(0) 推荐(0) 编辑
摘要: go语言中的函数特性 go语言中有3种函数:普通函数、匿名函数(没有名称的函数)、方法(定义在struct上 的函数)。 go语言中不允许函数重载(overload),也就是说不允许函数同名。 go语言中的函数不能嵌套函数,但可以嵌套匿名函数。 函数是一个值,可以将函数赋值给变量,使得这个变量也成为 阅读全文
posted @ 2023-02-21 11:17 XIN-0808 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 1. 概念 golang中的数组是具有固定长度及相同数据类型的序列集合 2. 初始化数组 var 数组名 [数组大小]数据类型 package main import "fmt" func main() { //第一种 var arr1 [3]int = [3]int{1, 2, 3}//指定数组长 阅读全文
posted @ 2023-02-19 15:43 XIN-0808 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 1.for 循环 for循环是Golang唯一的循环语句。 for 初始表达式; 布尔表达式; 迭代因子 { 循环体; } package main import "fmt" func main() { for i := 0; i < 5; i++ { //定义i变量值为0,判断i的值小于5执行下面 阅读全文
posted @ 2023-02-19 14:28 XIN-0808 阅读(222) 评论(0) 推荐(0) 编辑