golang
Mossil
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Go-map集合
map集合是一种无序的key-value的数据结构,在Go中的map是引用类型,必须初始化才能使用map是一种无序的键值对集合,可以通过key来快速的检索value,key类似索引,指向数据的值。我们可以像数组和切片一样迭代map,但因为其是无需的,所以我们无法决定它的返回顺序定义格式:map[KeyType]ValueType,KeyType:键类型,ValueType:值类型,map初始值为nil,需要使用make()函数来分配内存,make(map[KeyType]ValueType, [ca.原创 2021-12-15 16:48:51 · 598 阅读 · 0 评论 -
Go-数组与切片
1. 数组数组是同一类型数据的固定长度的序列数组的定义格式为 var 数组名[长度]类型数组长度是其类型的一部分,一旦定义,不能更改,例如var a[5]int和var a[8]int这两个数组不是同一类型数组使用下表访问,第一个元素从0开始,最后一个为长度-1,若访问越界会Panic数组是值类型,若赋值或当成参数传递会复制整个数组,若改变副本值原始数组不会发生改变支持 “==“或”!=” 操作符,因为内存总是被初始化过的数组指针为*[length]T指针数组为[length]*T可以使原创 2021-11-25 18:20:43 · 312 阅读 · 0 评论 -
Go-指针
&:取地址*:根据变量地址取值1. 指针地址:每个变量在运行都有一个地址,这个地址代表变量在内存中的地址,Go语言中使用&字符放在变量前面对变量进行“取地址”操作2. 指针类型:Go语言中的值类型(int、float、bool、string、array、struct)都有对应的指针类型,如:*int、*int64、*string等3. 变量取值:在对普通变量使用&操作符取地址后会获得这个变量的指针,然后可以对指针使用*操作,也就是指针取值4. 空指针:当一个指针被定义后.原创 2021-11-19 17:10:40 · 505 阅读 · 0 评论 -
Go-for循环
在Go中for循环有三种呈现形式for init; condition; post { }for condition { }for { }init:一般是赋值表达式,给控制变量赋初始值;condition:关系表达式或逻辑表达式,循环控制条件;post:一般为赋值表达式,给控制变量增量或减量str := "abc"for i := 0; i < len(str); i++{ fmt.Println(str[i])}strLen := len(str)for strLen >原创 2021-11-19 16:51:57 · 256 阅读 · 0 评论 -
Go-流程控制
1. if在Go中,if语法有以下几个特点需要注意可以省略条件表达式的括号初始化语句可以定义代码块局部变量代码块左括号必须在条件表达式尾部不支持类似PHP中的三目运算符// if条件语句格式如下:if 布尔表达式 { // 代码块}if str := "abc";i > 0 { fmt.Println(str[0])} else if i < 0 { fmt.Println(str[1])} else { fmt.Println(str[2])}2. s原创 2021-11-19 16:39:46 · 167 阅读 · 0 评论 -
Go- import和package的使用
在Go中使用包package来管理定义模块,可以使用import关键字来导入使用。如果导入的是go自带的包,则会去安装目录$GOROOT/src按包路径加载,如fmt包如果是我们go get安装或自定义的包,则会去$GOPATH/src下加载package的定义package的存放位置是以$GOPATH/src作为根目录,然后灵活的按照目录去组织,而且包名需与最后一级目录名一致。import的定义普通导入就是按照加载机制,将要使用的包导入进来,然后使用 packageName.Meth.原创 2021-11-17 18:31:47 · 1132 阅读 · 0 评论 -
Go-init函数与main函数
1. main函数func main() { // 函数体}Go语言程序的默认入口函数,main函数只能用于main包中,且只能定义一个,类似PHP框架中的index.php2. init函数Go语言中init函数用于包(package)的初始化,该函数是go语言的一个重要特性,用途类似于PHP中的__construct魔术方法init函数是用于程序执行前做包的初始化的函数,比如初始化包里的变量等每个包可以拥有多个init函数包的每个源文件也可以拥有多个init函数同一个包中多个原创 2021-11-17 18:16:50 · 462 阅读 · 0 评论 -
Go-类型声明及作用域
1. 类型的作用域声明在函数内部,是函数的本地值,类似private声明在函数外部,是对当前包可见(包内所有.go文件都可见)的全局值,类似protect声明在函数外部且首字母大写是所有包可见的全局值,类似public2. 几种声明方式var 声明变量,格式:var 变量名 变量类型const 声明常量,格式:const identifier [type] = value,iota是Go中一个特殊常量,可以认为是一个可以被编译器修改的常量,iota是Go语言的常量计数器,只能在常量的表达式原创 2021-11-17 18:03:28 · 274 阅读 · 0 评论 -
Go-类型强转
在Go语言中不存在隐式的类型转换,即自动转换,如PHP一样,但是在Go中所有的类型转换都必须显式的声明格式:valueOfTypeB = typeB(valueOfTypeA)(类型 B 的值 = 类型 B(类型 A 的值))var a int = 100var b int8 = 100c := a + int(b) // 正确写法d := int8(a) + b // 正确写法fmt.Println(c)fmt.Println(d)e := a + b // 错误写法fmt.Prin.原创 2021-11-17 17:32:49 · 2647 阅读 · 0 评论 -
Go-常见数据类型之字符与字符串
1. 字符Go语言中没有专门的字符类型,若存储单个字符(字母)一般使用byte类型来保存字符只能使用单引号包裹,不能使用双引号,双引号包裹的是字符串var s byte = 's'fmt.Println(s) // 输出115fmt.Printf("%c", s) // 输出s以上案例说明:当我们直接输出byte值时,就是输出了对应字符的ASCII码值,若我们希望输出对应字符,需要使用格式化输出Go语言的字符使用UTF-8编码,英文字母占一个字符,汉字占三个字符Go语言的字符的本质是原创 2021-11-17 16:04:08 · 485 阅读 · 0 评论 -
Go-常见类型之浮点型
类型描述floa3232位浮点数floa6464位浮点数浮点型在机器中的存放形式大致为:浮点数=符号位+指数位+尾数位,尾数位可能丢失造成精度损失,如下所示var a float32 = 1.97897897356var b float64 = 1.97897897356fmt.Println(a) // 1.978979fmt.Println(b) // 1.97897897356以上案例说明float64的精度比float32的精度要高,所以当我...原创 2021-11-17 15:28:19 · 303 阅读 · 0 评论 -
Go-常见数据类型之整型
在Go语言中变量分为有符号和无符号两种类型有符号:int int8 int16 int32 int64无符号:unit unit8 uint16 uint32 uint64在保证程序正确运行的情况下,应该尽量选择占用空间小的数据类型,可以使用fmt.Printf("%T", var_name)输出变量类型,unsafe.Sizeof(var_name)查看变量占用字节类型描述范围实际范围uint32位或64位uint8无符号8位整型0~2^8-原创 2021-11-17 15:02:36 · 237 阅读 · 0 评论 -
Go-初识
1. Go语言的特点自动立即回收更丰富的内置类型函数多返回值错误处理匿名函数和闭包类型和接口并发编程反射语言交互性2. Go的安装官方下载地址:https://golang.google.cn/dl/LinuxA. 下载对应的二进制包B. 将下载的二进制包解压至 /usr/local目录C. 将 /usr/local/go/bin 目录添加至PATH环境变量D. 使用go env命令查看是否安装成功tar -C /usr/local -zxvf go1.17.2.l原创 2021-10-27 17:05:44 · 184 阅读 · 0 评论
分享