首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
golang
订阅
ZZMilkTEA
更多收藏集
微信扫码分享
微信
新浪微博
QQ
13篇文章 · 0订阅
Golang 在 runtime 中的一些骚东西
最近在研究性能优化的时候,看到了 golang runtime 包下的一个文档HACKING.md觉得颇有意思,读完之后觉得对于 runtime 的理解更上一层,于是想着翻译一下。 本章内容会有一定深度,需要有一定基础的读者,限于篇幅在这里不可能完全展开各个细节。 这一篇文档面…
Golang中信号处理
信号(signal)是进程间通讯的一种方式,用来提醒进程某个事件已经发生。它属于一种异步通知进制。一个进程不必通过任何操作来等待信号的到达,事实上进程也不知道信号到底什么时候到达。进程之间可以互相通过系统调用kill发送软中断信号。内核也可以因为内部事件而给进程发送信号,通知进…
图文结合,白话Go的垃圾回收原理
前面两篇文章介绍了Go语言的内存分配策略以及Go协程动态扩充和收缩栈内存的原理,今天这篇文章我们主要来聊一下内存管理的另外一大块内容:垃圾回收。 下面首先我们会聊一下什么是GC,GC的作用是什么,然后再结合图示用每个人都能听懂的大白话解释Go的GC原理。 现代高级编程语言管理内…
Golang RPC实践
RPC(Remote Procedure Call,远程过程调用)是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络细节的应用程序通信协议。RPC协议构建于TCP或UDP,或者是HTTP上。 在Go中,标准库提供的net/rpc包实现了RPC协议需要的相关细节,开发…
Golang 函数式编程简述
一般而言,Golang 的 Functional 编程都会呈现出恶形。表面上看,恶形是因为 Golang 缺少一些必要的语法糖;本质上说,恶形源于它没有高级抽象能力,正如泛型的缺失。 很好,此包装看起来不错,是不是?fp形态看起来看着也比较舒服。我想……嗯,我想包装一下,令其通…
使用 Go 进行 Socket 编程
Socket 是对 TCP/UDP 封装后提供的一层接口, 我们可以利用 Socket 编写服务端和客户端, 然后让客户端和服务端建立 TCP 或 UDP 的连接. 在 Unix/Linux 中的 Socket 编程主要通过调用 listen, accept, write re…
Golang反射技术初始入门
反射是Go语言学习中一个比较难的点,需要好好探索一下。 我们知道,无论是int,float,bool等基础数据类型,亦或是array,slice,map,chan等引用类型,当使用这些类型来定义的变量,在程序编译时,编译器已经知道变量的具体类型和具体值。 但很多时候,当我们使用…
Golang | json
注意:当接收到一个很大的JSON数据结构而你只想获取其中的部分数据的时候,只需将想要的数据对应的字段名大写,即可轻松解决这个问题。 RawMessage类型是一个保持原本编码的json对象。本类型实现了Marshaler和Unmarshaler接口,用于延迟json的解码或者预…
Tags in Golang
在学习过程中,看到类似上面的代码,一下子懵了个逼😳。。。大概一查,这是 Golang 中的 Tags 语法,官方解释是这样的: 官方的解释不够接地气,像我这样的初学者看了等于是没看的,我们加点实际场景进去就能明白这到底能干吗。 由于 Golang 中对字段的标记可以在 反射 …
高频golang面试题:简单聊聊内存逃逸?
golang程序变量会携带有一组校验数据,用来证明它的整个生命周期是否在运行时完全可知。如果变量通过了这些校验,它就可以在栈上分配。否则就说它 逃逸 了,必须在堆上分配。 在方法内把局部变量指针返回 局部变量原本应该在栈中分配,在栈中回收。但是由于返回时被外部引用,因此其生命周…