首页 文章

    [Map]-第001节:集合(Map)

    ### 1.1 什么是Map --- map是Go中的内置类型,它将一个值与一个键关联起来。可以使用相应的键检索值。 Map 是一种无序的键值对的集合。Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值 Map 是一种集合,所以我们可以像迭代数组和切片那样迭代它。不过,Map 是无序的,我们无法决定它的返回顺序,这是因为 Map 是使用 hash 表来实现的,也是引用类型 使用map过程中需要注意的几点: > map是无序的,每次打印出来的map都会不一样,它不

    作者:RainNight 2021-03-18 所属分类:[Golang]

    [Map]-第002节:map的删除

    ### delete() 函数 --- delete(map, key) 函数用于删除集合的元素, 参数为 map 和其对应的 key。删除函数不返回任何值。 ``` package main import "fmt" func main() { /* 创建 map */ countryCapitalMap := map[string] string {"France":"Paris","Italy":"Rome","Japan":"Tokyo","India":"New Delhi"} fmt

    作者:RainNight 2021-03-18 所属分类:[Golang]

    [Map]-第003节:ok-idiom

    我们可以通过key获取map中对应的value值。语法为: ``` map[key] ``` 但是当key如果不存在的时候,我们会得到该value值类型的默认值,比如string类型得到空字符串,int类型得到0。但是程序不会报错。 所以我们可以使用ok-idiom获取值,可知道key/value是否存在 ``` value, ok := map[key] ``` 示例代码: ``` package main import ( "fmt" ) func main() { m := make(ma

    作者:RainNight 2021-03-18 所属分类:[Golang]

    [Map]-第004节:map是引用类型

    与切片相似,映射是引用类型。当将映射分配给一个新变量时,它们都指向相同的内部数据结构。因此,一个的变化会反映另一个。 示例代码: ``` package main import ( "fmt" ) func main() { personSalary := map[string]int{ "steve": 12000, "jamie": 15000, } personSalary["mike"] = 9000 fmt.Println("Original person salary", perso

    作者:RainNight 2021-03-18 所属分类:[Golang]

    [string]-第001节:字符串(string)

    ### 1.1 什么是string --- Go中的字符串是一个字节的切片。可以通过将其内容封装在“”中来创建字符串。Go中的字符串是Unicode兼容的,并且是UTF-8编码的。 示例代码: ``` package main import ( "fmt" ) func main() { name := "Hello World" fmt.Println(name) } ``` ### 1.2 string的使用 --- ### 1.2.1 访问字符串中的单个字节 ``` package mai

    作者:RainNight 2021-03-18 所属分类:[Golang]

    [函数]-第001节:函数

    ### 一、函数 --- ### 1.1 什么是函数 函数是执行特定任务的代码块。 ### 1.2 函数的声明 go语言至少有一个main函数 语法格式: ``` func funcName(parametername type1, parametername type2) (output1 type1, output2 type2) { //这里是处理逻辑代码 //返回多个值 return value1, value2 } ``` func:函数由 func 开始声明 funcName:函数名

    作者:RainNight 2021-03-19 所属分类:[Golang]

    [函数]-第002节:函数的参数

    ### 1.1 参数的使用 --- 形式参数:定义函数时,用于接收外部传入的数据,叫做形式参数,简称形参。 实际参数:调用函数时,传给形参的实际的数据,叫做实际参数,简称实参。 函数调用: ​ A:函数名称必须匹配 ​ B:实参与形参必须一一对应:顺序,个数,类型 ### 1.2 可变参 --- Go函数支持变参。接受变参的函数是有着不定数量的参数的。为了做到这点,首先需要定义函数使其接受变参: `` func myfunc(arg ...int) {} `` arg ...int告诉Go这个函

    作者:RainNight 2021-03-19 所属分类:[Golang]

    [函数]-第003节:函数的返回值

    ### 1.1 什么是函数的返回值 --- 一个函数被调用后,返回给调用处的执行结果,叫做函数的返回值。 调用处需要使用变量接收该结果 ### 1.2 一个函数可以返回多个值 --- 一个函数可以没有返回值,也可以有一个返回值,也可以有返回多个值。 ``` package main import "fmt" func swap(x, y string) (string, string) { return y, x } func main() { a, b := swap("Mahesh", "K

    作者:RainNight 2021-03-19 所属分类:[Golang]

    [函数]-第004节:函数中变量的作用域

    作用域:变量可以使用的范围。 ### 1.1 局部变量 --- 一个函数内部定义的变量,就叫做局部变量 变量在哪里定义,就只能在哪个范围使用,超出这个范围,我们认为变量就被销毁了。 ### 1.2 全局变量 --- 一个函数外部定义的变量,就叫做全局变量 所有的函数都可以使用,而且共享这一份数据

    作者:RainNight 2021-03-19 所属分类:[Golang]

    [函数]-第005节:defer

    ### 1.1 延迟是什么? --- 即延迟(defer)语句,延迟语句被用于执行一个函数调用,在这个函数之前,延迟语句返回。 ### 1.2 延迟函数 --- 你可以在函数中添加多个defer语句。当函数执行到最后时,这些defer语句会按照逆序执行,最后该函数返回。特别是当你在进行一些打开资源的操作时,遇到错误需要提前返回,在返回前你需要关闭相应的资源,不然很容易造成资源泄露等问题 如果有很多调用defer,那么defer是采用后进先出模式 在离开所在的方法时,执行(报错的时候也会执行) `

    作者:RainNight 2021-03-19 所属分类:[Golang]

    [函数]-第006节:高阶函数

    ### 1.1 函数的本质 --- 在Go语言中,函数也是一种数据类型。 ``` package main import "fmt" func main() { /* Go语言的数据类型: 数值类型:整数,浮点 进行运算操作,加减乘除,打印 字符串: 可以获取单个字符,截取子串,遍历,strings包下的函数操作。。 数组,切片,map。。 存储数据,修改数据,获取数据,遍历数据。。。 函数: 加(),进行调用 注意点: 函数作为一种复合数据类型,可以看做是一种特殊的变量。 函数名():将函数进

    作者:RainNight 2021-03-19 所属分类:[Golang]

    [指针]-第001节:指针的概念

    ### 1.1 指针的概念 --- 指针是存储另一个变量的内存地址的变量。 我们都知道,变量是一种使用方便的占位符,用于引用计算机内存地址。 一个指针变量可以指向任何一个值的内存地址它指向那个值的内存地址。 在上面的图中,变量b的值为156,存储在内存地址0x1040a124。变量a持有b的地址,现在a被认为指向b。 ### 1.2 获取变量的地址 --- Go 语言的取地址符是 &,放到一个变量前使用就会返回相应变量的内存地址。 ``` package main import "fmt" fu

    作者:RainNight 2021-03-19 所属分类:[Golang]

    [指针]-第002节:指针的声明

    声明指针,*T是指针变量的类型,它指向T类型的值。 ``` var var_name *var-type ``` var-type 为指针类型,var_name 为指针变量名,* 号用于指定变量是作为一个指针。 ``` var ip *int /* 指向整型*/ var fp *float32 /* 指向浮点型 */ ``` 示例代码: ``` package main import "fmt" func main() { var a int= 20 /* 声明实际变量 */ var ip *i

    作者:RainNight 2021-03-19 所属分类:[Golang]

    [指针]-第003节:指针的操作

    ### 1.1 获取指针的值 --- 获取一个指针意味着访问指针指向的变量的值。语法是:*a 示例代码: ``` package main import ( "fmt" ) func main() { b := 255 a := &b fmt.Println("address of b is", a) fmt.Println("value of b is", *a) } ``` ### 1.2 操作指针改变变量的数值 --- 示例代码: ``` package main import ( "fm

    作者:RainNight 2021-03-19 所属分类:[Golang]

    [指针]-第004节:指针的指针

    ### 指针的指针 --- 如果一个指针变量存放的又是另一个指针变量的地址,则称这个指针变量为指向指针的指针变量。 ``` var ptr **int; ``` ``` package main import "fmt" func main() { var a int var ptr *int var pptr **int a = 3000 /* 指针 ptr 地址 */ ptr = &a /* 指向指针 ptr 地址 */ pptr = &ptr /* 获取 pptr 的值 */ fmt.Pr

    作者:RainNight 2021-03-19 所属分类:[Golang]

网盘推荐

微信公众号

书籍标签