go
nzz_171214
一个小白到高级后端工程师转型的过程
展开
-
go 定义结构体
结构体定义struct属性及函数属性和函数的定义:两种作用域:牛掰了,靠首字母大小写来确定作用域,首字母小写只能本包调用,首字母大写其他包也能调用组合面向对象特性:继承组合下面是代码:struct_demo包中的struct_demo.go文件package struct_demoimport "fmt"//定义一个父类type Animal struct{ Color string //属性}//定义go结构体 报名要和文件名字相同type原创 2020-07-07 00:25:14 · 1797 阅读 · 0 评论 -
go 内建方法 len ,cap ,close
支持的类型:len:string,array,slice,map,chancap:slice,array,chanclose:chanpackage mainimport "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 · 199 阅读 · 0 评论 -
go 内建方法 panic & recover
处理异常:panic 抛出异常recover 捕获异常package mainimport ( "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 · 119 阅读 · 0 评论 -
go 内建方法 append,delete,copy
slice:append,copymap:deletepackage mainimport ( "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 · 381 阅读 · 0 评论 -
go 内建方法 make,new
创建slice ,map,chan返回类型引用代码:package mainimport ( "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 · 138 阅读 · 0 评论 -
go语言中 基础包 math
package mainimport( "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 · 1108 阅读 · 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 · 355 阅读 · 0 评论 -
go cap和len的区别
首先要搞清楚容量和长度的区别:容量是指底层数组的大小,长度指可以使用的大小容量的用处在哪?在与当你用 appen d扩展长度时,如果新的长度小于容量,不会更换底层数组,否则,go 会新申请一个底层数组,拷贝这边的值过去,把原来的数组丢掉。也就是说,容量的用途是:在数据拷贝和内存申请的消耗与内存占用之间提供一个权衡。而长度,则是为了帮助你限制切片可用成员的数量,提供边界查询的。所以用 m...原创 2019-02-26 17:56:27 · 11920 阅读 · 1 评论