引言学习golang不久后,因工作需要接触到了go-micro这一微服务框架。经过读源码,写业务代码,定制个性化插件,解决框架问题这些过程后,对它有了更深刻的理解。总的来说,这是一个功能较为齐全,抽象较为合理的微服务框架,非常适合用来强化golang的学习以及加深对微服务领域知识的理解,但是否达到了生产标准的要求至今仍是个未知数,需要更多的检验。本系列文章基于asim/go-micro v3.5.
最近有同学开始尝试接触Go lang,拥抱新技术永远都会是一个好习惯,之前的一篇文章介绍了如何在Mac os系统下配置Go lang开发环境,这次我们在Win10系统下进行配置,并且更换国内的安装源,最后再和“全宇宙最快的web框架”–Iris亲密接触一下,对于Iris可能很多朋友并不熟悉,一般Go lang在web开发领域相对著名的框架比如Beego或者Gin都名声在外,这里推荐Iris的原因也
转载
2024-04-15 12:14:43
318阅读
网络编程网络编程有两种:1) TCP socket 编程,是网络编程的主流。之所以叫 Tcp socket 编程,是因为底层是基于 Tcp/ip 协 议的.比如: QQ 聊天 [示意图]2) b/s 结构的 http 编程,我们使用浏览器去访问服务器时,使用的就是 http 协议,而 http 底层依 旧是用 tcp socket 实现的。比如: 京东商城 【这属于 go web 开发范畴 】&n
# 实现Docker Golang国内镜像
## 流程概览
为了实现Docker Golang国内镜像,我们需要按照以下步骤进行操作:
| 步骤 | 操作 |
| ---- | ---- |
| 1 | 配置Docker镜像加速器 |
| 2 | 创建一个Golang项目 |
| 3 | 编写Golang代码 |
| 4 | 构建Golang镜像 |
| 5 | 推送Golang镜像到镜像仓
原创
2023-10-26 07:20:01
733阅读
文章目录聊天室模块划分:广播用户上线:广播用户消息:查询在线用户:修改用户名:用户退出:超时强踢:代码实现: 聊天室模块划分:主go程:
创建监听socket。 for 循环 Accept() 客户端连接 —— conn。 启动 go 程 HandlerConnect:
HandlerConnect:
创建用户结构体对象。 存入 onlineMap。发送用户登录广播、聊天消息。处理查询在
long time 没写博客了,最近在搞golang服务器优化,颇有心得
场景一:
定时器随着人数增多有延迟,延时蛮大,用法是在 time.AfterFunc之后往通道里面发送消息,
一直打印从开始发到,通道从缓冲区取出消息的时间差,发觉不对。
错误:打印方式不对,不应该在从缓冲区取出消息那一刻打印,因为通道里面当前消息处理如果比较耗时,是无法从缓冲区取出下一个的。
优化:多开几个协程处理,或者
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字符%
为什么要使用OSS?应用场景是什么?最近在开发考试系统,里面需要上传课件,课件包括pdf,map等等各种类型的文件,这些文件不能像图片一样,直接上传到项目目录下面,需要单独存放,阿里云就提供了存储方式,然后OSS是其中的一种,可以用来存储一些文件。我们需要登录阿里云,之前一直使用的是阿里云的ESC,一个轻量级的服务器,我现在理解的是,OSS和ESC是阿里云开发的不同的功能。ESC就是我们平常使用的
准备工作用vscode编写golang程序显然要麻烦一点,另外,在墙内也是多了一些麻烦,好在资源够多: The Go Programming Language (google.cn) 这个代替官网以前是在linux下用,而且是先 gcc 编译低版本go,然后再用低版本go编译高版本编译器,windows下就直接下载二进制安装包 .msi 了,装完:C:\Progr
目录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阅读
记录的是 本地编译好了再创建容器镜像的方法 ,这样子生成的镜像文件比较小,方便分发部署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阅读
获取镜像许多优质的镜像都可以在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阅读
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
1601阅读
文章目录一、创建项目仓库二、拉去仓库,编辑代码三、推送与发布代码四、使用发布的第三方包小结 一、创建项目仓库1.输入仓库的名字,我这里输入simpleExample,用来做演示 2.选择public,公开。要不并不好拉 3.选择需要添加的文件(可选) 4.点击create repository创建此仓库完成后就有一个名为simpleExample的项目仓库,如下图所示。二、拉去仓库,编辑代码1.
转载
2024-03-18 12:46:04
289阅读
GOPROXY.IO - 一个全球代理 为 Go 模块而生https://prox
原创
2022-07-18 21:16:03
1289阅读
Golang 笔记1. hello Golang新建项目,推荐GoLand工具GOPATH目录:D:\go\awesomeProject
三个标准目录:bin,pkg,src
MAIN目录:D:\go\awesomeProject\src\GolangStudy\firstGolang\main
GLAND设置GOPATH 必须重启,否则不生效hello.gopackage main
/*
im
工作原理:利用adb shell截图游戏屏幕读取截屏图片,获取当前位置,下一跳位置,计算跳动距离和触屏事件利用adb shell发送input swipe事件来跳跃具体步骤1.需在电脑中安装ADB(Android DebugBridge)2.使用golang程序安装方法一:一键下载安装,无需搭建环境,傻瓜化使用方法 请在release 页面下载对应操作系统的二进制压缩包,解压后,执行ju
一、开发环境准备go官方api: https://studygolang.com/pkgdoc1、安装sdk官网下载 https://studygolang.com/dl2、环境变量环境变量windows 会自动配置好,但是默认都在c盘。安装路径自定义过注意修改。避坑:GOPATH默认会配置在环境变量的上面用户变量里面,注意删除了,否则在下面系统环境变量里配置的不会生效。cmd查看go版本号 go
转载
2024-10-24 22:41:00
717阅读
Docker安装go-fastdfs1、go-fastdfs简介FastDFS 是一个开源的高性能分布式文件系统(DFS)。 它的主要功能包括:文件存储,文件同步和文件访问,以及高容量和负载平衡。主要解决了海量数据存储问题,特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务。看着还挺合适的嘛,不错…更详细的介绍请看 这里;项目地址:https: