首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
风眠_
掘友等级
Developer
|
百度
I am a Developer
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
46
文章 45
沸点 1
赞
46
返回
|
搜索文章
最新
热门
为什么要使用 goroutines 取代 threads
goroutines 和 threads 都是为了并发而生。准确的说,并不能说 goroutines 取代 threads。因为其实 goroutines 是建立在一组 threads 之上。将多路并发执行的能力复用在 threads 组上。当某一个 goroutine 需要运…
Go中什么时候函数参数按值传递?
Go中什么时候函数参数按值传递?C语言系列的所有语言,函数的参数总是按值传递也就是说函数总能得到参数的副本,就像有一个赋值语句将值分配给参数意义。其实指针传递也是赋值一个指针的副本,不是他指向的数据。
GC(垃圾回收)必须Stop-the-world?
并发编程的许多困难都源于对象生存期问题,当对象在线程之间传递时,要确保它们安全地释放就变得很麻烦。因此GC可以使得并发编程变得容易。但是实GC也是一个挑战,但是一次实现,就可以解决人们手动管理内存的麻烦(C语言),大大提高的开发效率和避免了许多Bug。 但是GC也是有成本的,他…
一段代码,证明你是王者不是青铜
同样实现一个功能,不同人的实现差千里。老规矩,脱离业务场景的讨论都是无用的,所以我们先约定下业务场景: PM同学,跑来给你捶背,按摩的求你给商城首页新增一个活动信息展示的需求。 A同学,刚毕业,非常积极,这个不就是调用一下接口,把活动信息展示出来不就可以了,主动找PM小姐姐把活…
Golang 中 new 和 make的区别
Golang 内置两个函数,new 和 make ,其作用都是用来分配内存的。这么说可能会造成混淆,但其实规则很简单,其实他们适用于不同的类型。 new 函数参数为 一个类型不是一个值,用该类型的零值初始化一块空间,并返回该空间的指针。 运行报错,panic: runtime …
深入理解 Golang 指针
Go中一切都通过值传递,也就是说,一个函数总是得到值传递的副本,总是会分配一个值的副本给函数参数。例如 map 和 slice 值类似于指针,他们是指向底层存储数据结构的指针,复制map、slice的值,便不会复制他们指向的数据。具体原因可以查看 如何receiver很大,例如…
原来这才是 Go Interface
interface 的主要工作仅是提供方法名称签名,输入参数,返回类型。最终由具体的对象来实现方法,比如 struct; 使用 type 关键字来申明,interface 代表类型,大括号里面定义接口的方法签名集合。 如下,Dog 实现了 Animal 接口,所以可以用 Ani…
深入 Go 并发模型:Context
在Go服务器中,每个传入请求都在其自己的goroutine中处理。 请求处理程序通常会启动其他goroutine来访问后端,例如数据库和RPC服务。 处理请求的goroutine集合通常需要访问特定于请求的值,例如最终用户的身份,授权令牌和请求的截止日期。 当请求被取消或超时时…
构建并运行Go程序
编译完成的可执行文件会保存在 $GOPATH/bin 目录下。
为什么在Go中有两种方式声明变量,有什么区别和使用哪些?
学习到声明变量语法的时候,有个疑问。Go作为一门语法非常简洁的语言,为什么一个简单的变量声明方式,会允许有两种不同方式同时存在。 声明变量 var 关键字是必须的,语意非常清晰、简短。 允许重新声明变量,这大大避免了我们写代码的时候,冗余变量名称,对代码简洁起到了非常大的帮助。
下一页
个人成就
文章被点赞
315
文章被阅读
87,613
掘力值
2,132
关注了
14
关注者
122
收藏集
1
关注标签
40
加入于
2017-03-18