文章目录聊天室模块划分:广播用户上线:广播用户消息:查询在线用户:修改用户名:用户退出:超时强踢:代码实现: 聊天室模块划分:主go程:
创建监听socket。 for 循环 Accept() 客户端连接 —— conn。 启动 go 程 HandlerConnect:
HandlerConnect:
创建用户结构体对象。 存入 onlineMap。发送用户登录广播、聊天消息。处理查询在
目录1、goroutine GMP模型2、goroutine阻塞的处理3、goroutine内存泄漏4、go抢占式调度5、map原理、扩容5.1 map扩容5.2 map扩容 6、go内存管理7、go GC1、goroutine GMP模型goroutine是用户态"线程",开销非常小,最新golang版本默认为goroutine分配的初始栈大小为2k,同时会根据运行状况动态扩展或收缩1
转载
2024-05-23 20:18:18
49阅读
最近有同学开始尝试接触Go lang,拥抱新技术永远都会是一个好习惯,之前的一篇文章介绍了如何在Mac os系统下配置Go lang开发环境,这次我们在Win10系统下进行配置,并且更换国内的安装源,最后再和“全宇宙最快的web框架”–Iris亲密接触一下,对于Iris可能很多朋友并不熟悉,一般Go lang在web开发领域相对著名的框架比如Beego或者Gin都名声在外,这里推荐Iris的原因也
转载
2024-04-15 12:14:43
321阅读
一、下载安装1.1 下载地址Go官网下载地址:https://golang.org/dl/
Go官方镜像(推荐):https://golang.google.cn/dl/1.2 windows安装此安装实例以 64位Win10系统安装 Go1.14.1可执行文件版本为例。将上一步选好的安装包下载到本地。双击下载好的文件,然后按照下图步骤安装即可。1.3 Linux安装如果不是要在Linux平台敲g
转载
2024-06-12 22:03:42
706阅读
为什么要使用OSS?应用场景是什么?最近在开发考试系统,里面需要上传课件,课件包括pdf,map等等各种类型的文件,这些文件不能像图片一样,直接上传到项目目录下面,需要单独存放,阿里云就提供了存储方式,然后OSS是其中的一种,可以用来存储一些文件。我们需要登录阿里云,之前一直使用的是阿里云的ESC,一个轻量级的服务器,我现在理解的是,OSS和ESC是阿里云开发的不同的功能。ESC就是我们平常使用的
准备工作用vscode编写golang程序显然要麻烦一点,另外,在墙内也是多了一些麻烦,好在资源够多: The Go Programming Language (google.cn) 这个代替官网以前是在linux下用,而且是先 gcc 编译低版本go,然后再用低版本go编译高版本编译器,windows下就直接下载二进制安装包 .msi 了,装完:C:\Progr
# 实现Docker Golang国内镜像
## 流程概览
为了实现Docker Golang国内镜像,我们需要按照以下步骤进行操作:
| 步骤 | 操作 |
| ---- | ---- |
| 1 | 配置Docker镜像加速器 |
| 2 | 创建一个Golang项目 |
| 3 | 编写Golang代码 |
| 4 | 构建Golang镜像 |
| 5 | 推送Golang镜像到镜像仓
原创
2023-10-26 07:20:01
733阅读
golang小记println(”%v“)==》%v 表示格式化输出fmt包printf方法的参数一览类型参数描述General%v以默认的方式打印变量的值%T打印变量的类型Integer%+d带符号的整型,fmt.Printf("%+d", 255)输出+255%q打印单引号%o不带零的八进制%#o带零的八进制%x小写的十六进制%X大写的十六进制%#x带0x的十六进制%U打印Unicode字符%
引言学习golang不久后,因工作需要接触到了go-micro这一微服务框架。经过读源码,写业务代码,定制个性化插件,解决框架问题这些过程后,对它有了更深刻的理解。总的来说,这是一个功能较为齐全,抽象较为合理的微服务框架,非常适合用来强化golang的学习以及加深对微服务领域知识的理解,但是否达到了生产标准的要求至今仍是个未知数,需要更多的检验。本系列文章基于asim/go-micro v3.5.
long time 没写博客了,最近在搞golang服务器优化,颇有心得
场景一:
定时器随着人数增多有延迟,延时蛮大,用法是在 time.AfterFunc之后往通道里面发送消息,
一直打印从开始发到,通道从缓冲区取出消息的时间差,发觉不对。
错误:打印方式不对,不应该在从缓冲区取出消息那一刻打印,因为通道里面当前消息处理如果比较耗时,是无法从缓冲区取出下一个的。
优化:多开几个协程处理,或者
网络编程网络编程有两种:1) TCP socket 编程,是网络编程的主流。之所以叫 Tcp socket 编程,是因为底层是基于 Tcp/ip 协 议的.比如: QQ 聊天 [示意图]2) b/s 结构的 http 编程,我们使用浏览器去访问服务器时,使用的就是 http 协议,而 http 底层依 旧是用 tcp socket 实现的。比如: 京东商城 【这属于 go web 开发范畴 】&n
3月20 好 回家准备写一篇linux安装Mysql 结果哎 别提了 感觉自己笨到家了 2个小时硬生生没搞好
今天回家一定要搞好!!! 因为是Centos7 有点儿问题 不过问题应该解决了 还有就是用的是官网下载比较慢,后来想起来 为什么不用国内镜像网站呢? 就用了网易的国内镜像网站 那速度嗖嗖的
除了网易还有很多:参考https://www.cnblogs.com/jtlgb...
原创
2021-07-15 10:29:46
659阅读
3月20 好 回家准备写一篇linux安装Mysql 结果哎 别提了 感觉自己笨到家了 2个小时硬生生没搞好今天回家一定要搞好!!! 因为是Centos7 有点儿问题 不过问题应该解决了 还有就是用的是官网比较慢
原创
2022-01-17 10:46:17
537阅读
获取镜像许多优质的镜像都可以在docker hub 上获取使用https://hub.docker.com/search/?q=&type=image点开网站可以看见众多优质镜像可供使用,从 Docker Registry 获取镜像的命令是 docker pull 。其命令格式为:docker pull [选项] [Docker Registry地址]<仓库名>:<标签&
转载
2023-08-01 22:56:17
372阅读
记录的是 本地编译好了再创建容器镜像的方法 ,这样子生成的镜像文件比较小,方便分发部署win 平台需要设置golang交叉编译 生成linux可执行文件CMD下: Set GOOS="linux"
Set GOARCH="amd64"
PowerShell下:
$env:GOOS="linux"
$env:GOARCH="amd64" 这两个参数吃常用选项:GOARCH 目标平台
转载
2024-07-04 16:06:31
184阅读
下载地址:Go官网下载地址:https://golang.org/dl/官网因为不可抗力,不能登录了。下面一个是官方镜像网站。Go官方镜像站(推荐):https://golang.google.cn/dl/平台选择:因为我只在windows平台开发过,下次弄linux平台的。苹果的就等等吧,因为苹果用的新的芯片,平台不一样,我也没在苹果上搭建过开发平台。我弄懂了在写。到这里就安装完成了。检查上一步
转载
2024-02-27 17:18:50
222阅读
GoLang基础一. 环境部署1.1 源码包下载国外网址:https://golang.org/dl国内镜像:https://golang.google.cn/dl中文网址:https://studygolang.com/dl1.2 在Linux中部署# 解压源码包
sudo tar -zxvf goxxxlinux-amd64.tar.gz -C /usr/local
# 配置环境变量
sud
一、Golang介绍二、Golang开发工具vimsublimeatomLiteIDEeclipsegolandvscode2.1 vscode的快捷键快捷键位置:File->Preferences->Keyboard Shortcuts常用快捷键:行注释 ctrl + /块注释 shift + alt + a(可修改为 ctrl + shift + /)全选 ctrl + a复制 c
转载
2024-05-28 10:54:27
1608阅读
文章目录一、创建项目仓库二、拉去仓库,编辑代码三、推送与发布代码四、使用发布的第三方包小结 一、创建项目仓库1.输入仓库的名字,我这里输入simpleExample,用来做演示 2.选择public,公开。要不并不好拉 3.选择需要添加的文件(可选) 4.点击create repository创建此仓库完成后就有一个名为simpleExample的项目仓库,如下图所示。二、拉去仓库,编辑代码1.
转载
2024-03-18 12:46:04
289阅读
一、开发环境准备go官方api: https://studygolang.com/pkgdoc1、安装sdk官网下载 https://studygolang.com/dl2、环境变量环境变量windows 会自动配置好,但是默认都在c盘。安装路径自定义过注意修改。避坑:GOPATH默认会配置在环境变量的上面用户变量里面,注意删除了,否则在下面系统环境变量里配置的不会生效。cmd查看go版本号 go
转载
2024-10-24 22:41:00
717阅读