随笔分类 -  Go旅程

摘要:1、golang函数的返回值函数可以有0个或多个返回值,返回值需要指定数据类型,返回值通过return关键字来指定return可以有参数,也可以没有参数。这些返回值可以有名称,也可以没有名称。go中的函数可以有多个返回值。return关键字中指定了参数时,返回值可以不用名称。如果return省略参数 阅读全文
posted @ 2022-07-11 15:57 郭祺迦 阅读(1007) 评论(0) 推荐(0)
摘要:1、golang函数简介函数的go语言中的一级公民,我们把所有的功能单元都定义在函数中,可以重复使用。函数包含函数的名称、参数列表和返回值类型,这些构成了函数的签名(signature)2、go语言中函数特性go语言中有3种函数:普通函数、匿名函数(没有名称的函数)、方法(定义在struct上的函数 阅读全文
posted @ 2022-07-10 14:12 郭祺迦 阅读(52) 评论(0) 推荐(0)
摘要:map是一种key:value键值对的数据结构容器。map内部实现是哈希表(hash)map最重要的一点是通过key来快速检索数据,key类似于索引,指向数据的值map是无序的map是引用类型的map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能使用。1、 阅读全文
posted @ 2022-07-10 14:10 郭祺迦 阅读(125) 评论(0) 推荐(0)
摘要:切片是一个动态数组,可以使用append()函数添加元素,go语言中并没有删除切片元素的专用方法,我们可以使用切片本身的也行来删除元素。由于,切片是引用类型,通过赋值的方式,会修改原有内容,go提供了copy()函数来拷贝切片1、判断切片是否为空要检查切片是否为空,请始终使用len(s)==0来判断 阅读全文
posted @ 2022-06-28 09:49 郭祺迦 阅读(968) 评论(0) 推荐(0)
摘要:切片的初始化方法很多,可以直接初始化,也可以使用数组初始化等1、直接初始化语法:var name = []T{元素值} # 或 name := []T{元素值}T:数据类型func f1() { s := []int{1, 2, 3} fmt.Printf("s: %v\n", s) } func 阅读全文
posted @ 2022-06-22 15:14 郭祺迦 阅读(1052) 评论(0) 推荐(0)
摘要:切片的遍历和数组非常相似,可以使用for循环索引遍历,或者for range循环1、for循环索引遍历func f1() { var a1 = []int{1, 9, 3, 5, 7} for i := 0; i < len(a1); i++ { fmt.Printf("a1: %v\n", a1) 阅读全文
posted @ 2022-06-22 15:10 郭祺迦 阅读(68) 评论(0) 推荐(0)
摘要:可以通过下标的方式,来访问数组元素。数组的最大下标为数组长度-1,大于这个下标会发生数组越界1、访问数组元素variable_name[下标]func f1() { // 定义数组 var a1 [2]int // 赋值 a1[0] = 10 a1[1] = 100 // a1[2] = 20 fm 阅读全文
posted @ 2022-06-22 10:18 郭祺迦 阅读(113) 评论(0) 推荐(0)
摘要:前面我们学习了数组,数组是固定长度,可以容纳相同数据类型的元素的集合。当长度固定时,使用还是带来一些限制,比如:我们申请的长度太大浪费内存,太小又不够用鉴于上述原因,我们有了go语言的切片,可以把切片理解为,可变长度的数组,其实它底层就是使用数组实现的,增加了自动扩容功能。切片(Slice)是一个拥 阅读全文
posted @ 2022-06-22 10:18 郭祺迦 阅读(443) 评论(0) 推荐(0)
摘要:数组是相同数据类型的一组数据的集合,数组一旦定义长度不能修改,数组可以通过下标(或者叫索引)来访问元素1、go语言数组的定义var variable_name [SIZE] variable_typevariable_name:数组名称SIZE:数组长度,必须是常量variable_type:数组保 阅读全文
posted @ 2022-06-19 21:01 郭祺迦 阅读(86) 评论(0) 推荐(0)
摘要:goto语句通过标签进行代码间的无条件跳转。goto语句可以在快速跳出循环、避免重复退出上有一定的帮助。Go语言中goto语句能简化一些代码的实现过程。少用慎用1、go语言关键字goto实例跳转到指定标签处func f1() { i := 1 if i >= 2 { fmt.Println("2") 阅读全文
posted @ 2022-06-19 15:05 郭祺迦 阅读(115) 评论(0) 推荐(0)
摘要:continue只能用在循环中,在go中只能用到for循环中,它可以终止本次循环,进行下一次循环在continue语句后添加标签时,表示开始标签对应的循环1、go语言continue实例输出1到10之间的偶数func f1() { // 输出1-10之间的偶数 for i := 1; i <= 10 阅读全文
posted @ 2022-06-19 14:08 郭祺迦 阅读(227) 评论(0) 推荐(0)
摘要:break语句可以结束for、switch和select的代码块1、go语言中使用break注意事项单独在select中使用break和不使用break没有啥区别单独在表达式switch语句,并且没有fallthrough,使用break和不使用break没有啥区别单独在表达式switch语句,并且 阅读全文
posted @ 2022-06-19 12:33 郭祺迦 阅读(337) 评论(0) 推荐(0)
摘要:go语言中可以使用for range遍历数组、切片、字符串、map即通道(channel)。通过for range遍历的返回值有以下规律:数组、切片、字符串返回索引和值map返回键和值通道(channel)只返回通道内的值1、go语言for range语法for key, value := rang 阅读全文
posted @ 2022-06-19 12:32 郭祺迦 阅读(255) 评论(0) 推荐(0)
摘要:go语言中的for循环,只有for关键字,去除了像其他语言中的while和do whilefor循环可以通过break、goto、return、panic语句强制退出循环1、go语言for循环语法for 初始语句; 条件表达式; 结束语句 { 循环体语句 }注意:for表达式不用加括号2、go语言f 阅读全文
posted @ 2022-06-17 09:47 郭祺迦 阅读(381) 评论(0) 推荐(0)
摘要:go语言中的switch语句,可以非常容易的判断多个值的情况 go里面switch默认相当于每个case最后带有break,匹配成功后不会自动向下执行其他case,而是跳出整个switch fallthrough强制执行后面的case代码[加了fallthrough后,会直接运行【紧跟的后一个】ca 阅读全文
posted @ 2022-06-15 14:47 郭祺迦 阅读(653) 评论(0) 推荐(0)
摘要:go语言if语句中可以嵌套多级进行判断1、go语言中if嵌套语法if 布尔表达式1 { /* 在布尔表达式1为true时执行 */ if 布尔表达式2 { /* 在布尔表达式2为true时执行 */ } }2、go语言if嵌套实例比较三个数大小package main import "fmt" fu 阅读全文
posted @ 2022-06-15 11:34 郭祺迦 阅读(80) 评论(0) 推荐(0)
摘要:go语言if语句可以进行多重嵌套使用,进行多重判断1、go语言中的if else if语法if 布尔表达式1 { // do something }else if 布尔表达式2 { // do something }else { // do something }2、go语言中的if else if 阅读全文
posted @ 2022-06-15 11:02 郭祺迦 阅读(229) 评论(0) 推荐(0)
摘要:go语言中的if else语句可以根据给定条件二选一1、go语言的if else语句语法if 布尔表达式 { /* 在布尔表达式为true时执行 */ }else { /* 在布尔表达式为false时执行 */ }2、go语言if else语句实例比较两个数的大小func test1() { // 阅读全文
posted @ 2022-06-15 09:46 郭祺迦 阅读(192) 评论(0) 推荐(0)
摘要:一、golang中的流程控制1、go语言中的条件条件语句是用来判断给定的条件是否满足(表达式值是否为true或者false),并根据判断的结果(真或假)决定执行的语句,go语言中的条件语句也是这样的。2、go语言中的条件语句包含如下几种情况if语句:if语句由一个布尔表达式后紧跟一个或多个语句组成i 阅读全文
posted @ 2022-06-15 08:59 郭祺迦 阅读(1157) 评论(0) 推荐(0)
摘要:1、运算符Go语言内置的运算符有:算术运算符关系运算符逻辑运算符位运算符赋值运算符2、算术运算符运算符描述+相加-相减*相乘/相除%求余++(自增)和--(自减)在Go语言中是单独的语句,并不是运算符package main import "fmt" func test1() { // 算术运算符 阅读全文
posted @ 2022-06-14 15:38 郭祺迦 阅读(44) 评论(0) 推荐(0)