游戏服务器框架gonet

gonet 游戏服务器架构,mmo架构,包含数学库(box,matrix,point2d,point3d),Recast Navigation寻路模块, a星寻路模块。 分布式雪花uuid,ai行为树,ai状态机,excel导出配置,raft同步模块,分片raft同步模块,hashring分布式一致性算法。 gonet核心思想是actor模式,消息驱动 微服务,微服务之间使用分布式消息队列 [项目地址](https://github.com/bobohume/gonet)...阅读全文

Go语言中文网 2021-05-03 13:36:36 bobohume

游戏服务器框架gonet

gonet 游戏服务器架构,mmo架构,包含数学库(box,matrix,point2d,point3d),Recast Navigation寻路模块, a星寻路模块。 分布式雪花uuid,ai行为树,ai状态机,excel导出配置,raft同步模块,分片raft同步模块,hashring分布式一致性算法。 gonet核心思想是actor模式,消息驱动 微服务,微服务之间使用分布式消息队列 [项目github地址](https://github.com/bobohume/...阅读全文

Go语言中文网 2021-05-03 13:34:30 bobohume

golang单元测试踩坑系列(一)

![7320c81a18c32d9c562217abdb4e0ace.jpg](https://static.studygolang.com/210430/6204f1175f278b440d7fe292f3bcc369.jpg) ## 业务需求 在业务开发的过程中,老旧代码变成了新功能开发和测试的最大阻碍,人员变动以及。基于历史代码的功能修改可能会带来副作用,进而影响用户体验(绩效)。 ## 面临困难 * 老代码对接口的使用非常少 * 业务逻辑中存在大量网络调用 ...阅读全文

Go语言中文网 2021-04-30 22:06:22 geange

使用Viper读取Nacos配置(开源)

## 一、前言 目前Viper支持的Remote远程读取配置如 etcd, consul;目前还没有对Nacos进行支持,本文中将开源一个Nacos的Viper支持库, 开源地址在文章的最下方. 实现这个仓库的主要目的是为了,最终集成到我们的yoyogo框架中, https://github.com/yoyofx/yoyogo 。 ## 二、什么是Viper [Viper](github.com/spf13/viper)是适用于Go应用程序的完整配置解决方案。它被设计用于在应用程序中工作...阅读全文

Go语言中文网 2021-04-30 12:34:53 yoyofx

go设计模式之适配器模式浅谈

### 适配器模式 概念:适配器模式(Adapter Pattern)是作为两个不兼容的接口(结构体)之间的桥梁 ### 什么时候用 ``` 举个例子,原先用Iphone6听音乐,使用的是3.5mm耳机,后来手机坏了,但耳机还在,于是买了一个Iphone12手机, Iphone12使用的是Lightning接口,原先的旧耳机就不能直接使用了,这时我们可以买一个Lightning转3.5mm的转接头, 这里的转接头就相当于我们适配器 ``` ### 代码说明 #### 原先的Ip...阅读全文

Go语言中文网 2021-04-30 10:07:01 go_hiro

基于golang爬虫框架gathertool快速编写并发抓取国内ip信息

@[TOC](基于golang爬虫框架gathertool快速编写并发抓取国内ip信息) > gathertool - 框架地址: https://github.com/mangenotwork/gathertool - 框架下载: go get github.com/mangenotwork/gathertool - 介绍: 轻量级爬虫,接口测试,压力测试框架, 提高开发对应场景的golang程序。 - 框架文档: https://380949.baklib-free....阅读全文

Go语言中文网 2021-04-28 21:25:06 mange

基于gathertool高并发抓取阳光高考招生简章

# golang爬虫高并发抓取阳光高考招生简章 ## 链接地址 > 一级页面 学校列表 https://gaokao.chsi.com.cn/zsgs/zhangcheng/listVerifedZszc--method-index,lb-1,start-0.dhtml >二级页 招生简章列表 https://gaokao.chsi.com.cn/zsgs/zhangcheng/listZszc--schId-5.dhtml > 三级页 招生章程内容 htt...阅读全文

Go语言中文网 2021-04-28 21:24:15 mange

go设计模式之策略模式浅谈

### 策略模式 定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换 ### 策略模式与状态模式的区别联系 查看知乎上的一篇文字[状态模式和策略模式的区别与联系](https://www.zhihu.com/question/23693088) 本文也是参考这篇文章的想法,通过go语言翻译出来,如有不合适,请找知乎冤大头,哈哈 ### 与状态模式类似 本质上讲,策略模式和状态模式做得是同一件事:去耦合。怎么去耦合? 就是把干什么(语境类)和怎么干(策略接口)分开,互...阅读全文

Go语言中文网 2021-04-28 17:45:23 go_hiro

go设计模式之状态模式浅谈

### 概念 允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类 ### 何时使用 当一个任务,存在大量与状态有关的条件语句,并且每种条件下,需要执行不同的逻辑时 ### 状态模式的组成 ``` Status:状态 用于抽象状态行为类的行为 Context:状态环境 维护Status状态的切换,实现不同状态下,对外展示不同行为 StatusObj:状态行为类 实现Status接口的行为 ``` 下面以工作日,和休息日两种不同的状态下,Do方法产生不同行...阅读全文

Go语言中文网 2021-04-28 17:43:25 go_hiro

go设计模式之单例模式浅谈

### 概念 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 ### 实现 单例实现有两种方式,分别是饿汉模式和懒汉模式,下面分别说明: #### 1.饿汉模式 ```go type single struct {} var instance *single instance = &single{} func GetSingle() *single { return instance } ``` 饿汉模式存在问题,instance压根没使用都会自动创...阅读全文

Go语言中文网 2021-04-28 17:42:06 go_hiro

golang 踩坑时间Parse转换后加8小时

今天写代码的时候从前台拿到数据后加到数据库发现存入的时间都加了八小时 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210409110756414.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTE2MTYzNg==,size_16,color_FFFFFF,t_70)...阅读全文

Go语言中文网 2021-04-28 13:53:13 starFullSky

Golang变量的数据类型

1.基本数据类型 1.1 数值型 1.1.1 整数类型 int、int8、int16、int32 uint、uint8、uint16、uint32、uint64、byte 1.1.2 浮点类型 float32、float64 1.2字符型 没有专门的字符型,使用byte,来保存单个字母字符 1.3布尔型 bool 1.4字符串 string2.派生/复杂数据类型 2.1 指针 pointer 2.2 数组 2.3 结构体 struct 2.4 管道 channel 2.5 函数 2.6切片 sl...阅读全文

51CTO博客 2021-04-28 12:41:40 mob604756fbd94e

Golang 浮点类型、字符类型

一、浮点类型分类 浮点类型的存储分未三部分,符号位+指数位+尾数位,在存储过程中,精度会有损失。 1.单精度 float32,占用4字节。 2.双精度 float64 ,占用8字节。 默认情况下Golang式float64。二、字符类型 Golang中没有专门的字符类型,如果要存储单个字符(字母),一般使用byte来保存。 字符串就是一串固定长度的字符连接起来的字符序列。Go的字符串式由单个字节连接起来的。当我们直接输出byte值,就是输出了对应的字符的码值(ASCII码)。func main(...阅读全文

51CTO博客 2021-04-28 12:33:22 mob604756fbd94e

【完整版53章】Go+Python双语言混合开发-盯紧技术先机抓紧高薪机遇

点击下载——【完整版53章】Go+Python双语言混合开发-盯紧技术先机抓紧高薪机遇提取码:rsl7 点击下载——【完整版53章】Go+Python双语言混合开发-盯紧技术先机抓紧高薪机遇密码:gf4uhpGo+Python双语言混合开发-盯紧技术先机抓紧高薪机遇,完整版53章,2021年新课。60小时加强训练,0基础入门Go,自研微服务框架、打造电商系统。Go+Python自研一个“微服务”框架:从0开始围绕grpc开发微服务Go+Python混合开发微服务框架,让你成为具备双语言后端能力的...阅读全文

51CTO博客 2021-04-28 12:56:37 喜欢运动m

[Go] Go语言实战-基于websocket浏览器通知的实现

当我们使用了websocket技术实现了实时的推送访客来到消息,但是我们只能随时看着页面不离开才能知道有访客来到现在增加浏览器的通知消息,就可以只要打开着界面,不用一直盯着,干别的事去就可以了,有新消息会从右下角弹出来测试地址如下,当有访客点击咨询按钮时,客服后台会弹出提示:https://gofly.sopans.com/index 首先要明确一点,现在的通知只能在https的环境下使用 , 非https , 不能使用浏览器通知,Notification.permission返回的是禁止 no...阅读全文

51CTO博客 2021-04-27 20:39:18 mob604756fb8908

[Go] GO语言实战-实现标题闪烁

在实现客服系统的过程中,需要有新消息的时候标题栏闪烁提示因为聊天框是被iframe框进去的页面,所以在聊天框中收到websocket消息以后要把消息发送给父集页面,在父页面中闪烁标题 测试页面地址:https://gofly.sopans.com/ 子页面发送到父页面的实现是,在父页面增加消息监听,子页面发送消息子页面:window.parent.postMessage(redata);父页面收到消息调用函数,标题不停切换window.addEventListener('message',fun...阅读全文

51CTO博客 2021-04-27 20:38:31 mob604756fb8908