随笔分类 - go
摘要:我们先来看一个例子: func main() { var a *int *a = 100 fmt.Println(*a) var b map[string]int b["沙河娜扎"] = 100 fmt.Println(b) } 执行上面的代码会引发panic,为什么呢? 在Go语言中对于引用类型的
阅读全文
摘要:什么是方法 方法其实就是一个函数,在func这个关键字和方法名中间加入一个特殊的接收器类型,接收器可以是结构体类型或者是非结构体类型,接收器是可以在方法的内部访问的 方法的结构 func (接收器) 方法名(参数1 参数类型,参数2 参数类型)(返回值){ 内容 } 定义方法 package mai
阅读全文
摘要:什么是结构体 结构体是用户定义的类型,表示若干个字段的集合,有时应该把数据整合一起,而不是让这些数据没有联系,这种情况下可以使用结构体 语法 // 结构体 //type关键字 结构体名字 struct{ // 字段1 字段类型 // 字段2 字段类型 //} 结构体定义 type Person st
阅读全文
摘要:什么是指针 指针是一种存储变量内存地址(Memory Address)的变量 如上图所示,变量b的值为156,而b的内存地址为0x1040a124。变量a存储了b的地址,我们就称a指向了b。 & 放在变量前,表示取该变量的地址 * 放在类型前,表示该类型的指针 * 放在变量(指针变量)前,表示解引用
阅读全文
摘要:len 字符串长度,len指的是字节 package main import ( "fmt" "unicode/utf8" ) func main() { var s ="hello world" fmt.Println(len(s)) //11 11个字符,11 字节 var s1 ="hello
阅读全文
摘要:什么是map map是在Go中将值(value)与键(key)关联的内置类型,通过相应的键可以获取到值 map的定义 是引用类型,需要初始化,如果不初始化就说nil package main import "fmt" func main() { //var m map[key值类型]value类型
阅读全文
摘要:定义 切片是由数组建立的一种方便、灵活且功能强大的包装,切片本身不拥有任何数据。他们只是对现有数组的引用。切片底层以来于数组,是对数组的引用 底层数组如果发生变化,切片也变了;切片发生变化,层数组也变化 切片定义 基于数组生成切片 package main import "fmt" func mai
阅读全文
摘要:数组 数组是同一类型元素的集合。例如整数集合5,8,9,10形成一个数组,go语言中不允许混合不同类型的元素,例如包含字符串和整数的数组 数组是连续存储的内存空间,一旦申请,大小固定,不能再改变 定义没有初始化 package main import "fmt" func main() { var
阅读全文
摘要:作用 switch是为了优雅的替换掉if-else 语法 switch 变量 { case 条件: 执行1 case 条件2: 执行2 case 条件3: 执行3 } 基本使用 package main import "fmt" func main() { var a =5 switch a { c
阅读全文
摘要:循环介绍 在go中,只有for循环,没有其他循环关键字,没有while循环,也没有do while 通过for循环是可以实现 类似于while的功能 语法 for 变量初始化;条件;自增{ 循环体的内容 } 重点记忆:for关键字后三段,都可以省略不写 break和continue的使用方法和pyt
阅读全文
摘要:简介 逻辑判断,条件成立执行if的代码,不成立执行else或else if if...else 语法 if 条件 { }else{ } 例子 var num = 11 // 对2取余,如果余数等于0,说明能整除 if num%2 == 0 { fmt.Println("能整除") } else {
阅读全文
摘要:包的创建和管理 go path模式(已经弃用) 1、go mod 出现之前,所有的代码都要放在go path的src路径下 2、go env可以看到go path,/Users/liuqingzheng/go 有三个文件夹 -src:存放代码,项目,第三方包,自己写的包都要放在这 -bin:编译后的
阅读全文
摘要:函数定义 函数是一块执行特定任务的代码。一个函数是在输入源基础上,通过执行一系列的算法,生成预期的输出。 函数的声明 语法 func functionname(parametername type) returntype { // 函数体(具体实现的功能) } 函数的声明以关键词 func 开始,后
阅读全文
摘要:概念 恒定不变的量,定义赋初值以后,就不能改 在python中,常量约定俗成,全大写表示常量,go中关键字修饰,真正的不能修改 常量的定义,一般定义外部,所有函数都可以用,使用const关键字修饰,定义时必须赋初值。变量的作用域范围 》在函数内部,外部 常量的基本定义和使用 package main
阅读全文
摘要:整型 go中整型包括int,int8,int16,int32,int64。并且有正负 int 类型 在32位机器是int32,在64位机器是int64 范围:在 32 位系统下是 -2147483648~2147483647,而在 64 位系统是 -9223372036854775808~92233
阅读全文
摘要:注释 单行注释 // 单行注释 等同于python # 多行注释 /* */ 多行注释 等同于python 三引号 变量的定义和使用 先定义再使用 完整定义 package main import "fmt" func main() { //var 变量名 变量类型 = 变量值 定义并赋初值 var
阅读全文
摘要:详情 package main // 每个go文件的第一行,都要写这个,声明该文件属于哪个包,main包 import "fmt" // 导入内置标准库中的fmt包--》想python--》 import os func main() { // 写一个main函数,它是整个项目的入口 fmt.Pri
阅读全文