快乐的程序员
一个通过websocket通信的go语言实现的即时通讯demo 一个通过websocket通信的go语言实现的即时通讯demo
写在前面今天学习一个小册子其中的一篇,并且跟着写demo。本文大部分内容是从小册子分布式IM原理与实战复制过来的,主要用于记录一下学习到的知识。如有侵权请联系我删除。感谢作者逆水。 项目结构├── client │  
2024-03-14
GO面试精选题目,学会这些就能应付80%的面试啦 GO面试精选题目,学会这些就能应付80%的面试啦
0.写在前面有的人觉得go面试很难,其实相对于java来说,go的内容已经很少了。作为go后端开发者,go基础面试也就那几个问题,面试的时候主要还是要把后端的(跟语言无关的)知识打牢,比如数据库、分布式、缓存、编程风格等等。 本文主要解决的
2024-03-13
go chan 设计与实现 go chan 设计与实现
在上一篇文章《深入理解 go chan》中,我们讲解了 chan 相关的一些概念、原理等东西, 今天让我们再深入一下,读一下它的源码,看看底层实际上是怎么实现的。 整体设计我们可以从以下三个角度看 chan 的设计(源码位于 runtime
2024-03-13
深入理解 go chan 深入理解 go chan
写在前面go 里面,在实际程序运行的过程中,往往会有很多协程在执行,通过启动多个协程的方式,我们可以更高效地利用系统资源。而不同协程之间往往需要进行通信,不同于以往多线程程序的那种通信方式,在 go 里面是通过 channel (也就是 c
2024-03-13
go map那些事儿 go map那些事儿
1.数据结构hashmap的定义位于 src/runtime/hashmap.go 中 // A header for a Go map. type hmap struct { count int // 元素的个数 flags
2024-03-13
GO import红色,但是程序可以正常运行 GO import红色,但是程序可以正常运行
go程序中有时候遇到下面这种情况 问题描述 import中是红色的 代码中相关地方也是红色的 程序能正常运行 原因可能是goland建立的indexs坏了,需要重新建一下 解决办法(1)GOPATH一定要到go/src目录 (2)在项
2024-03-13
go  执行js代码引擎系列总结篇:比较goja、otto、v8go go 执行js代码引擎系列总结篇:比较goja、otto、v8go
写在前面本文是《go执行js代码引擎系列》文章的总结,前面依次写了三篇文章 go执行js代码引擎系列之一:goja库 go执行js代码引擎系列之二:otto库 go执行js代码引擎系列之三:v8go库 性能比较package main_
2024-03-13
go  执行js代码引擎系列之三:v8go库 go 执行js代码引擎系列之三:v8go库
写在前面本文是《go执行js代码引擎系列》文章之第一篇,其他相关文章如下 go执行js代码引擎系列之一:goja库 go执行js代码引擎系列之二:otto库 go执行js代码引擎系列总结篇:比较goja、otto、v8go v8go基本
2024-03-13
go  执行js代码引擎系列之二:otto库 go 执行js代码引擎系列之二:otto库
写在前面本文是《go执行js代码引擎系列》文章之第二篇,其他相关文章如下 go执行js代码引擎系列之一:goja库 go执行js代码引擎系列之三:v8go库 go执行js代码引擎系列总结篇:比较goja、otto、v8go otto一个
2024-03-13
go  执行js代码引擎系列之一:goja库 go 执行js代码引擎系列之一:goja库
写在前面本文是《go执行js代码引擎系列》文章之第一篇,其他相关文章如下 go执行js代码引擎系列之二:otto库 go执行js代码引擎系列之三:v8go库 go执行js代码引擎系列总结篇:比较goja、otto、v8go goja它实
2024-03-13
Go map 面试十连问,你扛得住吗? Go map 面试十连问,你扛得住吗?
写在前面go面试中,map相关知识点问的比较多,本文总结了一些问题,希望对大家有帮助。 其他go相关知识收集在专栏:GO那些事儿,欢迎订阅。 1.Map 使用时需要注意哪些问题? Map 的键必须是可比较的类型,如整数、字符串和指针等,但是
2024-03-13
Go defer中改变return的值会生效吗 Go defer中改变return的值会生效吗
直接上代码 func test() int { result = 123 defer func() { result = 456 }() return result } func main() {
2024-03-13
2 / 6