Go
文章平均质量分 55
Rage_
西北工业大学明德学院
展开
-
2021-03-23
Go基础问题汇总 1.cap()和len()函数的区别是什么? len()返回切片中的元素个数。 cap()返回切片中容量即切片可以容纳的元素个数。 2.select作用: 随机选择一条没有被读写阻塞的case加以执行,通常是管道IO; 3.主协程如何等其余协程完再操作? 等待组(sync.WaitGroup) 和 管道(channel);10个子协程,子协程结束任务,向一个切片中写入true,主协程循环查看切片的长度,为10时退出。 4.什么情况下会死锁,如何避免? ...原创 2021-03-24 01:21:04 · 371 阅读 · 0 评论 -
Go程序设计语言读书笔记-第五章
第五章-函数 实参是按值传递的,搜易函数收到的每个实参的副本。如果提供实参包含引用类型,比如指针、slice、map、函数或者通道,那么函当函数使用形参变量时就有可能会间接地修改实参变量。 Go可以使用递归。Go语言的实现使用了可变长的栈,栈的大小会随着使用而增长,可达到1GB左右的上限。这使我们可以安全地使用递归而不用担心溢出的问题。 多返回值,一个函数能够返回不止一个结果。 一个函数如...原创 2019-04-15 14:07:10 · 269 阅读 · 0 评论 -
Go程序设计语言读书笔记-第四章
第四章-复合数据类型 数组:由于数组的长度固定,所以在Go里面很少用。 var a [3]int fmt.Println(a[0]) fmt.Println(a[len(a)-1]) //输出索引和元素 for i,v := range a{ fmt.Printf("%d %d\n",i,v) } //初始化数组 var q [3]int = [3]int{1,2,3} var...原创 2019-04-15 14:00:23 · 293 阅读 · 0 评论 -
Go程序设计语言读书笔记-第八章
第八章-goroutine和通道 goroutine:在go里,每一个并发执行的活动成为goroutine。语法上,一个go语句实在普通的函数或者方法调用前加上go关键字。 go f() //新建一个f()的goroutine,不用等待 通道:如果说goroutine是Go程序并发的执行体,通道就是他们之间的连接。通道是可以让一个叫goroutine发送特定值到另一个goroutin...原创 2019-04-17 11:24:01 · 307 阅读 · 0 评论 -
Go程序设计语言读书笔记-第七章
第七章-接口 Go语言的结构的独特之处在于它是隐式实现。就是对于一个具体的类型,无需声明他实现了哪些接口,只要提供接口所必须的方法即可。 接口是一种抽象类型,他并没有暴露所含数据的布局或者内部结构。 一个接口类型定义了一套方法,如果一个具体类型要实现接口,那么必须实现接口类型定义中的所有方法。 实现接口:如果一个类型实现了一个接口要求的所有方法,那么这个类型实现了这个接口。 // 薪资...原创 2019-04-16 11:09:46 · 288 阅读 · 0 评论 -
Go程序设计语言读书笔记-第六章
第六章-方法 方法声明:只是在普通函数名字前面多了一个参数。这个参数吧这个方法绑定到这个参数对应的类型上。附加的参数p成为方法的接收者。 func (p Point)Distance(q Point)float64{ return math.Hypot(q.X-p.X,q.Y-p.Y) } Go和许多其他面向对象的语言不同,他可以将方法绑定到任何类型上。可以很方便地为简单的类型定义...原创 2019-04-16 10:05:41 · 266 阅读 · 0 评论 -
Go程序设计语言读书笔记-第三章
有符号和无符号整数:8位,16位,32位,64位:int8、int16、int32、int64、uint8、uint16、uint32、uint64 浮点数:float32和float64 字符串:内置的len函数返回字符串的字节数,试图访问许可范围以外的字节会触发宕机异常。 s := "left foot" t := s s +=", right foor" s[0] = 'L' //编译...原创 2019-03-31 22:48:48 · 258 阅读 · 0 评论 -
Go程序设计语言读书笔记-第二章
第二章-程序结构 如果一个实体在函数中声明,只在函数局部有效。如果在函数外,对包里的所有源文件可见。实体第一个字母的大小写决定其可见性是否挎包。如果以大写字母开头,意味着对包外是可见和可访问的,可以被自己包之外的其他程序所引用,如:fmt包中的Printf。 声明:varname type = expression 短声明:name := expressionname的类型由express...原创 2019-03-13 18:40:09 · 275 阅读 · 0 评论 -
Go程序设计语言读书笔记-第一章
Go程序设计语言读书笔记 - 第一章-入门 Go代码使用包来组织的,包类似其他语言中的库和模块,一个包由一个或者多个.go源文件组成,放在同一个文件夹中,文件夹的名字描述了包的作用。每一个源文件的开始都用package声明,列子里面是package main,说明这个文件属于哪一个包。 main是一个用来定义一个独立的可执行程序。 import声明必须跟在package后面。import导入声...原创 2019-03-13 18:39:20 · 377 阅读 · 0 评论 -
panic和recover的使用规则
转自:https://www.cnblogs.com/vikings-blog/p/7109519.html 转自个人博客 chinazt.cc 在上一节中,我们介绍了defer的使用。 这一节中,我们温习一下panic和recover的使用规则。 在golang当中不存在tye ... catch 异常处理逻辑。在golang当中使用defer, panic和recover来控制程序执行流...转载 2019-02-26 17:02:40 · 873 阅读 · 0 评论 -
golang中defer的使用规则
转自:https://www.cnblogs.com/vikings-blog/p/7099023.html 转自个人博客chinazt.cc 在golang当中,defer代码块会在函数调用链表中增加一个函数调用。这个函数调用不是普通的函数调用,而是会在函数正常返回,也就是return之后添加一个函数调用。因此,defer通常用来释放函数内部变量。 为了更好的学习defer的行为,我们首先...转载 2019-02-26 15:40:48 · 256 阅读 · 0 评论 -
Go语言TCP连接
https://blog.csdn.net/Rage_/article/details/82432790 TCP连接学习 http://docscn.studygolang.com/pkg/net/ Go net库文档 参考其他博客链接: https://cloud.tencent.com/developer/article/1064525 https://blog.csdn.net/ha...原创 2019-02-25 18:35:52 · 2956 阅读 · 0 评论