首页
首页
BOT
沸点
课程
直播
活动
AI刷题
NEW
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
go
订阅
朗月清风
更多收藏集
微信扫码分享
微信
新浪微博
QQ
22篇文章 · 0订阅
从零到一,使用实时音视频 SDK 一起开发一款 Zoom 吧
浏览器兼容性要好,需要支持大部分主流桌面浏览器。 七牛实时音视频基于 Google 在 Chrome 上推行的 WebRTC 协议,目前该协议已经正式写入 Web 标准之中,所有的现代浏览器对其都有很好的兼容性。 不同于传统 WebRTC 采用用户和用户 P2P 的形式进行通信…
Go语言交叉编译工具gox
交叉编译是为了在不同平台编译出其他平台的程序,比如在Linux编译出Windows程序,在Windows能编译出Linux程序,32位系统下编译出64位程序,今天介绍的gox就是其中一款交叉编译工具。 首先配置好Go语言的环境变量,并在~/.bash_profile中设置,简单…
[译] Go: 理解 Sync.Pool 的设计
ℹ️本文基于 Go 1.12 和 1.13 版本,并解释了这两个版本之间 sync/pool.go 的演变。 sync 包提供了一个强大且可复用的实例池,以减少 GC 压力。在使用该包之前,我们需要在使用池之前和之后对应用程序进行基准测试。这非常重要,因为如果不了解它内部的工作…
golang错题集
本文即Go语言的那些坑三。 输出的都是“annei”,而“annei”又是“names”的最后一个元素,那么也就是说程序打印出了最后一个元素的值,而name对于匿名函数来讲又是一个外部的值。因此,我们可以做一个推断:虽然每次循环都启用了一个协程,但是这些协程都是引用了外部的变量…
图解Golang的channel底层原理
废话不多说,直奔主题。 buf是有缓冲的channel所特有的结构,用来存储缓存数据。是个循环链表 lock是个互斥锁。 recvq和sendq分别是接收(<-channel)或者发送(channel <- xxx)的goroutine抽象出来的结构体(sudog)的队列。是个…
Go 面向对象编程(译)
今天接着给大家分享关于 Go 面向对象的好文。原文作者是 William Kennedy,《Go 语言实战》作者,博客 https://www.ardanlabs.com/blog/ 的维护者。大部分中国的 Gopher 都是通过这个博客认识了这位 Go 大神。 有些与知识点无…
剑指 Offer 全解(Java 版)
3. 数组中重复的数字 在一个长度为 n 的数组里的所有数字都在 0 到 n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字是重复的,也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 要求时间复杂度 O(N),空间复杂度 O(1)。因此不能使用排序的方法,也…
Golang奇葩点
本文即Go语言的那些坑二。 可以正常编译通过。 不能编译通过。 在上述代码中,匿名函数中记录的是循环变量的内存地址,而不是循环变量某一时刻的值。 其实就加了条elem := e看似多余,其实不,这样一来,每次循环后每个匿名函数中保存的就都是当时局部变量elem的值,这样的局部变…
图解Go语言interface底层实现
Go的interface源码在Golang源码的runtime目录中。 Go在不同版本之间的interface结构可能会有所不同,但是,整体的结构是不会改变的,此文章用的Go版本是1.11。 Go的interface是由两种类型来实现的:iface和eface。 一共有两个属性…