go
nzz_171214
一个小白到高级后端工程师转型的过程
展开
-
go 定义结构体
结构体 定义struct 属性及函数 属性和函数的定义: 两种作用域: 牛掰了,靠首字母大小写来确定作用域,首字母小写只能本包调用,首字母大写其他包也能调用 组合 面向对象特性:继承 组合 下面是代码: struct_demo包中的struct_demo.go文件 package struct_demo import "fmt" //定义一个父类 type Animal struct{ Color string //属性 } //定义go结构体 报名要和文件名字相同 type原创 2020-07-07 00:25:14 · 1793 阅读 · 0 评论 -
go 内建方法 len ,cap ,close
支持的类型: len:string,array,slice,map,chan cap:slice,array,chan close:chan package main import "fmt" func main(){ //getLen() closeChan() } //测试长度和容量 func getLen(){ mIDMap := make([]string,3,6) //make第三个参数 是容量 mIDMap[0]="id-1" mIDMap[1]="id-2" mIDM原创 2020-07-06 00:46:07 · 191 阅读 · 0 评论 -
go 内建方法 panic & recover
处理异常: panic 抛出异常 recover 捕获异常 package main import ( "errors" "fmt" ) func main(){ receivePanic() } func receivePanic(){ defer coverPanic() panic(errors.New("i am error")) } func coverPanic(){ message := recover() //捕获异常 switch message.(ty..原创 2020-07-06 00:31:17 · 111 阅读 · 0 评论 -
go 内建方法 append,delete,copy
slice:append,copy map:delete package main import ( "fmt" "reflect" ) func main() { //appendElementForSlice() //copyForSlice() deleteForMap() } //为map delete 删除map中的数据 func deleteForMap(){ mIDMap := make(map[int]string) mIDMap[0]="id-1" mIDM原创 2020-07-06 00:19:16 · 371 阅读 · 0 评论 -
go 内建方法 make,new
创建slice ,map,chan 返回类型引用 代码: package main import ( "fmt" "reflect" ) func main() { //makeSlice() //makeMap() makeChan() } //创建切片 func makeSlice(){ mSlice := make([]string, 3) mSlice[0]="dog" mSlice[1]="cat" mSlice[2]="tiger" fmt.Println(mS原创 2020-07-05 23:59:35 · 127 阅读 · 0 评论 -
go语言中 基础包 math
package main import( "fmt" "math" ) func main(){ i := -100 fmt.Println(math.Abs(float64(i))) //绝对值 fmt.Println(math.Ceil(5.0)) //向上取整 fmt.Println(math.Floor(5.8)) /...转载 2019-02-28 11:43:54 · 1097 阅读 · 0 评论 -
go 学习中遇到一些语法问题
1.可变参数,传入数组的饿时候,必须加三个... func sums(nums ...int){} nums := []int{1, 2, 3, 4, 5} sums(nums...) 2.如果带有返回值的func 一定要在后面指定返回值类型 func plus(a int, b int) int { return a + b } 3.在使用闭包的时候,函数名,返回值则是以fu...转载 2019-02-25 18:50:22 · 349 阅读 · 0 评论 -
go cap和len的区别
首先要搞清楚容量和长度的区别: 容量是指底层数组的大小,长度指可以使用的大小 容量的用处在哪?在与当你用 appen d扩展长度时,如果新的长度小于容量,不会更换底层数组,否则,go 会新申请一个底层数组,拷贝这边的值过去,把原来的数组丢掉。也就是说,容量的用途是:在数据拷贝和内存申请的消耗与内存占用之间提供一个权衡。 而长度,则是为了帮助你限制切片可用成员的数量,提供边界查询的。所以用 m...原创 2019-02-26 17:56:27 · 11910 阅读 · 1 评论