首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
go从入门到懵逼
宇宙区长孙连成
创建于2022-09-24
订阅专栏
go
等 7 人订阅
共13篇文章
创建于2022-09-24
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
go小数四舍五入取整
go的 math 包只提供了简单的小数操作,像常用的四舍五入,保留几位小数这些常用的操作,却没有提供,那只好自己造轮子了。 四舍五入取整 四舍五入取整还是很简单的,直接 +0.5 然后取整就可以了。
聊一聊go的内存逃逸分析
我正在参加「掘金·启航计划」 什么是内存逃逸分析 内存逃逸分析是go的编译器在编译期间,根据变量的类型和作用域,确定变量是堆上还是栈上 简单说就是编译器在编译期间,对代码进行分析,确定变量分配内存的位
聊一聊go的内存对齐
我正在参加「掘金·启航计划」 什么是内存对齐呢 简单说就是程序运行过程中,程序中的变量在内存中的分布情况,为什么要有对齐这个问题呢,是因为不同类型的变量占用内存的大小是不一样的,但是cpu每次读取的内
golang使用unsafe包实现指针运算操作private变量
比如在C/C++中 *p++ 这样是正确的。但是在go中,这样写是错误的。至于go为什么会屏蔽指针的运算,比较多的一种说法是go团队认为指针的运算会带来一些安全问题,再有就是简化语法,所以go直接就不支持指针运算了。 虽然go语法不支持,但是通过go的 unsafe 包可以间接…
go 使用 epoll 实现高性能tcp服务器
在go中实现一个tcp服务器还是很简单的,至少和C/C++相比还是很简单的了。 一个简单的例子 只需要这样一行就可以监听了,就能等待客户端连接了。是不是还是很简单的 在C/C++中,需要依次 调用so
使用golang的sort包进行排序
这是在掘金的第一篇文章,之前一直在某书发文章,进来感觉某书越来越不好了,想把文章 都搬到掘金来。 golang和java等语言一样,系统自带了一个排序方法,可以快速实现排序。废话不多说,先上栗子,再解释。 使用type定义了一个 []*One 类型的OneList切片。OneL…
通过汇编看golang函数的多返回值 | 🏆 技术专题第二期征文
golang这门语言,有个比较好的特性,就是支持函数的多返回值。想C,C++,Java等这些语言,是不支持函数多返回的。但是C,C++可以使用传递指针,实现函数多返回。但是,你有没有想过,golang是怎样实现函数多返回值的呢? 我们知道,C,C++是通过寄存器实现函数返回值的…
golang造轮子,封装一个简单的http client | 🏆 技术专题第二期征文
近来无事,本着爱折腾的原则,在go原生 http client 的基础上,自己封装了一个go的http client。由于才疏学浅,再加是第一次造轮子,在各位大佬面前献丑了,写的烂的地方,请轻喷。还请各位不吝赐教。 库封装了 异步回调功能,请求会在一个新的goroutine中进…
再探 go 汇编
五一假期在家没事逛论坛的时候,发现了一个宝藏网站,传送门 这个网站可以在线生成多种语言的汇编代码,有这个好东西,那必须拿go实验一番。 很久之前我写过一篇go通过go汇编看多返回值实现的文章传送门。当
go使用build tags实现条件编译
在C/C++中可以通过宏定义实现条件编译,比如在不同平台的机器上,调用不同的函数,或者通过编译是传递参数,调用不同的函数,比如下面的例子 C++条件编译 现在就可以使用不同的编译参数,控制程序调用不同
go 使用pprof 排查内存泄露
go的GC会自动管理内存,但是这不代表go程序就不会内存泄露了。 go常见产生内存泄露的原因就是goroutine没有结束,简单说就是goroutine 被阻塞了,这样就会导致goroutine引用的内存不被GC回收,也就导致了内存写了。 当然产生内存泄露的原因还有别的,只是暂…
4000字详解跳表实现(挑战全网中文最详细)
跳表是一个可以快速查找的有序链表, 搜索、插入、删除操作的时间均为O(logn),跳表虽然是非常有用的数据结构,但是很多书里都没有写这个,所以就用go实现了一个跳表
go泛型初尝试
go的1.18版本在3月15这天正式发布了 release notes,虽然在bate版本就可以尝试了,毕竟那时候还没正式发布,也就没去尝试了,现在正式发布了,马上就更了尝试一下。 总算是千呼万唤始出