![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Go语言
文章平均质量分 68
SuPhoebe
不是我针对谁,我是说在座的诸位都比我强
展开
-
golang fmt格式“占位符”
golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf。# 定义示例类型和变量type Human struct { Name string}var people = Human{Name:"sujing"}普通占位符 占位符 说明 举例 输出 %v 相应值的默认格式。 Printf(“%v”...原创 2018-07-01 09:12:04 · 4264 阅读 · 0 评论 -
golang defer的使用
golang defer的使用基本使用在golang当中,defer代码块会在函数调用链表中增加一个函数调用。这个函数调用不是普通的函数调用,而是会在函数正常return之后添加一个函数调用。因此,defer通常用来释放函数内部变量。为了更好的学习defer的行为,我们首先来看下面一段代码:func CopyFile(dstName, srcName string) (wr...原创 2018-07-08 14:24:05 · 1011 阅读 · 0 评论 -
go 数组(array)、切片(slice)、map
go 数组(array)、切片(slice)、map数组(array)go语言中的数组是固定长度的。使用前必须指定数组长度。go语言中数组是值类型。如果将数组赋值给另一个数组或者方法中参数使用都是复制一份,方法中使用可以使用指针传递地址。var arrayName = [arraySize]dataType{xxx,xxx,xxx....} //定义全局数组var b ...原创 2018-06-27 14:11:49 · 2754 阅读 · 0 评论 -
Go语言中函数new与make的使用和区别
大家都知道Go语言中的函数new与函数make一直是新手比较容易混淆的东西,看着相似,但其实不同,不过解释两者之间的不同也非常容易,下面这篇文章主要给大家介绍了关于Go语言中函数new与make区别的相关资料,需要的朋友可以参考下。前言本文主要给大家介绍了Go语言中函数new与make的使用和区别,关于Go语言中new和make是内建的两个函数,主要用来创建分配类型内存。在我们定义生成变量...转载 2018-06-12 05:09:38 · 558 阅读 · 0 评论 -
理解 go interface 的 5 个关键点
理解 go interface 的 5 个关键点原创: wecatch wecatch 2017-07-23 这篇关于 go 的 interface 的介绍。1、interface 是一种类型type I interface { Get() int}首先 interface 是一种类型,从它的定...转载 2018-06-27 14:14:34 · 8957 阅读 · 5 评论 -
golang传值和传引用
golang传值和传引用这里不会解释关于指针的情况,如果读者对C语言或者C++的指针比较了解,那么就能更好地理解本文。定义对于代码modify(a);a.modify();如果modify中对于a的修改不会改变传入的a的值,那么就是传值调用;否则,是传引用。传值调用是将传入的变量在内存中复制一份进行操作,所以本质是存储在不同内存地址的不同变量。传引用是将传入变量的内存地址,在函数操...原创 2019-01-02 09:53:04 · 5027 阅读 · 2 评论 -
go中的并发
go中的并发从并发模型说起并发目前来看比较主流的就三种:多线程每个线程一次处理一个请求,线程越多可并发处理的请求数就越多在高并发下,多线程的调度开销会比较大。协程无需抢占式的调度,开销小,可以有效的提高线程的并发性,从而避免了线程的缺点的部分基于异步回调的IO模型利用Linux内核的AIO进行异步IO1nginx使用的就是epoll模型,通过事件驱动的方式与异步...原创 2019-04-05 11:06:47 · 1698 阅读 · 0 评论 -
Goroutine的调度
本文整理自The Go schedulerGoroutine的调度Go语言之所以要自己实现一个调度器有以下两个原因:协程调度。因为系统内核不能再决定协程的切换,那么协程的切换时间点则是由程序内部的调度器决定的。垃圾回收。垃圾回收的必要条件是内存位于一致状态,这就需要暂停所有的线程,如果交给系统去做,那么会暂停所有的线程使其一致。程序自身的调度器知道什么时候内存位于一致状态,那么就没有必要...原创 2019-04-08 23:52:24 · 832 阅读 · 0 评论 -
golang中的io.Reader/Writer
本文整理自Go编程技巧–io.Reader/WriterGo原生的包中有一些核心的interface,其中io.Reader/Writer是比较常用的接口。很多原生的结构都围绕这个系列的接口展开,在实际的开发过程中,你会发现通过这个接口可以在多种不同的io类型之间进行过渡和转化。本文结合实际场景来总结一番。关系图表type Reader interface { Read(p []b...转载 2019-04-09 05:35:02 · 23920 阅读 · 2 评论