随笔分类 - Golang学习笔记
发表于 2020-05-09 16:49阅读次数:359评论次数:0
摘要:Golang基础进阶——interface go语言中,接口 (interface) 是一个自定义类型,描述了一系列方法的集合,声明格式: type 接口类型名称 interface{ 方法名1(参数列表1) 返回值1 方法名2(参数列表2) 返回值2 } Go语言再接口命名时,一般会在单词后面添加
阅读全文 »
发表于 2020-04-29 14:07阅读次数:240评论次数:0
摘要:Golang基础进阶——结构体 结构体(struct) 定义结构体 type 类型名 struct { 字段1 字段1 类型 字段2 字段2 类型 } 示例: func main() { var s1 = Student{1, "zs", 'f', 18, "sh"} fmt.Println(s1)
阅读全文 »
发表于 2020-04-28 13:43阅读次数:162评论次数:0
摘要:Golang基础进阶——指针 变量和内存地址 每个变量都有内存地址,可以理解为变量来操作对应的内存,go语言的取地址符是&,放到一个变量前使用就会返回相应变量的内存地址,&符跟指针类型息息相关: func main() { var a int = 10 fmt.Printf("变量地址:%x\n",
阅读全文 »
发表于 2020-04-27 09:45阅读次数:3731评论次数:0
摘要:Golang基础进阶——并发Map和List sync.Map Go 语言中 map 在并发情况下,只读是线程安全的,同时读写线程不安全。下面来看下并发情况下读 map 出现的问题,示例: func main() { for { m := make(map[int]int) // 开启一段并发代码
阅读全文 »
发表于 2020-04-26 12:27阅读次数:209评论次数:0
摘要:Golang基础进阶——Map 映射(map)一一建立事物关联的容器 Map 是go内置的数据结构,是一种无序的键值对的集合,可以通过key快速找到,Map必须初始化才能使用,否则报错。 map 的定义: var 变量名 map[KeyType]ValueType 示例1: func main()
阅读全文 »
发表于 2020-04-25 12:48阅读次数:259评论次数:0
摘要:Golang基础进阶——切片 切片( slice )——动态分配大小的连续空间 Go 语言切片的内部结构包含地址、大小和容量,切片是真正意义上的动态数组,而且是一个引用类型,切片指向一个底层数组。 切片的声明方式 var name []T 声明但未使用的切片的默认值是:nil。示例: func ma
阅读全文 »
发表于 2020-04-24 16:27阅读次数:178评论次数:0
摘要:Golang开发之数组 数组——固定大小的连续空间 概念 数组是一段固定长度的连续内存区域。在 Go 语言中,数组从声明时就确定,(使用时可以修改数组成员,但是数组大小不可变化)。 1. 声明数组 var 数组变量名 [元素数量]T 示例: 如果未补充的value会使用该类型默认值填充。 func
阅读全文 »
发表于 2020-04-12 17:42阅读次数:190评论次数:0
摘要:Golang开发之函数(function) 基础 普通函数的声明形式 func 函数名(参数列表)(返回值列表) { 函数体} 参数类型的简写 func add(a, b int) int { return a + b} 函数的返回值 同一种类型返回值 使用 return 语句返回时,值列表的顺序需
阅读全文 »
发表于 2020-04-11 17:35阅读次数:219评论次数:0
摘要:Golang开发之流程控制 1. 条件判断(if) Go语言if条件判断格式如下: if 表达式1 { 分支1} else if 表达式2 { 分支2} else { 分支3} Go 规定与 if 匹配的左括号 “{” 必须与 if 和表达式放在同一行,如果尝试将“{”放在其它位置,将会触发编译错误
阅读全文 »
发表于 2020-04-11 12:54阅读次数:472评论次数:0
摘要:Golang:类型别名 1. 区分类型别名与类型定义 类型别名的写法为: type TypeAlias = Type 类型别名规定:TypeAlias 只是 Type 的别名,本质上TypeAlias与Type 是同一个类型。就像一个孩子小时候有小名、乳名,上学后用学名,英语老师又会给他起英文名,但
阅读全文 »
发表于 2020-04-09 17:15阅读次数:236评论次数:0
摘要:Golang:字符串应用 1. 计算字符串长度 Go语言的内建函数 len() ,可以用来获取切片、字符串、通道(channel)等的长度下面的。代码可以用 len() 来获取字符串的长度。 func main() { tip1 := "genji is a ninja" fmt.Println(l
阅读全文 »
发表于 2020-04-08 17:19阅读次数:265评论次数:0
摘要:Golang:常量和枚举 常量—恒定不变的量 相对于变量,常量是恒定不变的值,例如圆周率。 常量表示: const pi = 3.1415const e = 2.7123 常量 明和变量声明非常 似,只是把 var 换成了 const 多常量声明: const ( pi = 3.1415 e = 2
阅读全文 »
发表于 2020-04-08 16:02阅读次数:170评论次数:0
摘要:Golang:基本数据类型 1. 整型 整型分为两大类: 按长度分为:int8,、int16、int32、int64 还有对应的无符号整型:uint8、uint16、uint32、uint64 其中,uint8就是我们熟知的byte型,int16对应C语言的short型,int64对应C语言的lon
阅读全文 »
发表于 2020-04-01 18:14阅读次数:167评论次数:0
摘要:Golang变量 1. 声明变量 1 var a int 2 var b string 3 var c []float32 4 var d func() bool 5 var e struct{ 6 x int 7 } 2. 变量的几种声明形式 2.1. 标准格式 var 变量名 变量类型 2.2.
阅读全文 »