上下文 上下context go

go 游戏框架

这两天去看了一下go, 总结一下,目前的go开源游戏框架。不得不说,如今的大趋所势。go语言转变如此之快。go开源游戏端应用的框架,已经多到数不胜数。这才两年的时间里,就发生了如此多的转变。cpp所带来的痛苦,真让人非常印象深刻吗?在快捷开发,简单类型游戏中,比如卡牌类,回合制这种类型游戏,cpp可 ......
框架 go

使用go语言通过第三方库go-redis操作Redis

go-redis使用 安装:在GOPATH路径下面执行命令:go get -u github.com/redis/go-redis -u:表示update 文档地址:https://pkg.go.dev/github.com/go-redis/redis 连接 package main import ......
第三方 go-redis 语言 Redis redis

go语言rsa非对称加解密

最近用到rsa非对称加密解密算法,且将密钥、公钥作为应用程序的配置存放在配置文件或数据库中,苦于未找到go语言相关实现,自己东拼西凑简单实现一下;本文未涉及rsa算法的原理,仅仅用go语言实现了一下rsa密钥生成、加密、解密的工具,代码如下 package main import ( "crypto ......
语言 rsa

快速搭建一个go语言web后端服务脚手架

快速搭建一个go语言web后端服务脚手架 源码:https://github.com/weloe/go-web-demo web框架使用gin,数据操作使用gorm,访问控制使用casbin 首先添加一下自定义的middleware recover_control.go ,统一处理panic err ......
脚手架 语言 web

Go笔记(三):循环语句

1、for循环 与Java语言不同,go语言中只有for循环,没有while和do while。for表达式无需加括号,语法如下: for 初始语句;条件表达式;结束语句 { 循环体语句 } 示例代码如下: 1 package main 2 3 import "fmt" 4 5 /** 6 循环 7 ......
语句 笔记

从0开始的go+websocket构建五子棋对战系统

基本框架 直接照搬,不多解释。 dao为数据库处理层 po为实体类 middleware为中间件,cors处理跨域 app对request请求进行封装 router处理路由 service为服务层,进行数据处理逻辑 网络框架 使用gin作为整体的网络框架,文档在这里https://github.co ......
五子棋 websocket 系统 go

go语言代码规范

go语言代码规范 指南篇 编码风格原则 清晰:代码的目的和原理对读者来说是清晰的 简单:代码以最简单的方式完成其目标 简明:代码具有较高的信噪比 可维护性:编写的代码可以很容易维护 一致:代码与广泛的谷歌代码库风格一致 清晰 清晰主要是通过有效的命名、有用的注释和有效的代码组织来实现的。 清晰与否要 ......
语言 代码

go 二维数组 切片

使用make内置方法对二维切片进行初始化。 要注意的是,对二维切片初始化分配内存后,内部的一维slice是没有分配内存的,因此要使用二维切片保存数据还需要对一维slice分配内存。 否则,会出现 “panic: runtime error: index out of range [0] with l ......
数组 go

go-记录耗时

r := time.Now() //运行间隔 d := time.Since(r) time.Now结构体 type Time struct { //以下来自机翻 //wall和ext分别对壁时间秒、壁时间纳秒和壁时间纳秒进行编码, //以及可选的以纳秒为单位的单调时钟读取。 // //wall从高 ......
go

Go面试题——逃逸分析

Go面试题——逃逸分析 一个变量是在堆分配,还是在栈上分配,是经过编译器的逃逸分析之后得出的 "结论"。 一、逃逸分析是什么? 在 C 语言中,可以使用malloc和free手动在堆上分配和回收内存。 在 Go 语言中,堆内存是通过垃圾回收机制自动管理的,无需开发者指定。那么,Go 编译器怎么知道某 ......

JS上下文和作用域链

开发中我们可能会不小心将写多个相同名称的变量,也经常会写一个递归调用的方法, 上述示例中程序执行顺序如下图,程序会按照顺序执行第一个子元素内部所有的程序,当最底层执行结束后,会逐渐抛出返回值,然后执行第二个子元素的程序 要解释清楚上述原因,除了JS的单线程顺序执行外,还需要了解什么是上下文和作用域链 ......
上下文 上下 作用

实现页面展示左右上下错位效果

前言:有个需求,页面显示类似淘宝首页那样左右上下错位展示效果,还有点时间,所以试验记录下效果。 ##1、分左右栏布局 <html> <style> .list_left, .list_right { width: 50%; float: left; } .list li { width: 45%; ......
上下 效果 页面

Go语言入门5(map哈希表)

Map ​ 哈希表是一种巧妙并且实用的数据结构。它是一个无序的key/value对的集合,其中所有的key 都是不同的,然后通过给定的key可以在常数时间复杂度内检索、更新或删除对应的value。 ​ 在Go语言中,一个map就是一个哈希表的引用,map类型可以写为map[K]V,其中K和V分别 对 ......
语言 map

go 总汇

命令 作用go mod init 生成 go.mod 文件go mod download 下载 go.mod 文件中指明的所有依赖go mod tidy 整理现有的依赖go mod grap 查看现有的依赖结构go mod edit 编辑 go.mod 文件go mod vendo 导出项目所有的依 ......
总汇 go

【go】文件

file与base64互转 package main import ( "encoding/base64" "fmt" "io/ioutil" ) func main() { // file 转 base64 fileBytes, err := ioutil.ReadFile("E:\\测试\\te ......
文件

Golang 常用库之jwt-go

本文地址 https://www.cnblogs.com/zichliang/p/17303759.html github地址:https://github.com/dgrijalva/jwt-go 何为 jwt token? 什么是JSON Web Token? JSON Web Token(JW ......
常用 Golang jwt-go jwt go

Go语言中协程(goroutine)的介绍和使用

Go 语言中协程(goroutine)的介绍和使用 Go 语言作为一种高效、简洁、并发的编程语言,其特色之一就是支持协程。协程是一种轻量级的线程,其优点在于占用资源少、切换成本低,能够高效地实现并发操作。在 Go 语言中,协程的使用非常方便,本文将介绍协程的基本概念和使用方法,以及如何通过协程实现高 ......
goroutine 语言

[oeasy]python0133_[趣味拓展]好玩的unicode字符_另类字符_上下颠倒英文字符

另类字符 回忆上次内容 上次再次输出了大红心<span style="font-size:64px;color:red">♥</span> 找到了红心对应的编码 黑红梅方都对应有编码 原来的编码叫做 ascii️ \u这种新的编码方式叫unicode 包括了 中日韩字符集等 各书写系统的字符集 除了 ......
字符 趣味 上下 另类 unicode

Go笔记(二):条件控制语句

Go语言中的if语句根据条件表达式的结果选择需要执行的业务流程。 1、if控制语句 1、if 语法 语法详情如下: if 条件表达式 { // 条件表达式为true,执行的代码块 } 条件表达式必须返回布尔型的结果,与Java语法不同,在Go中,if的条件表达式不使用括号。 2、if/else 语法 ......
语句 条件 笔记

idea警告Possibly blocking call in non-blocking context could lead to thread starvation

看下列代码 这个警告的说在非阻塞上下文中阻塞调用可能会导致线程饥饿 解决方法: private Mono<Path> createTempFile(String name) { String prefix = name +"_"; return Mono.defer(() -> { Path dir ......

go语言SSE客户端

package main import ( "fmt" "github.com/r3labs/sse/v2" "net/http" "net/url" "strings" "time" ) func main() { client := &http.Client{ // 设置Transport字段为 ......
客户端 语言 客户 SSE

golang常用库包:log日志记录-uber的Go日志库zap使用详解

Go 日志记录库:uber-go 的日志操作库 zap 使用 一、简介 zap 是 uber 开源的一个高性能,结构化,分级记录的日志记录包。 go1.20.2 zap v1.24.0 zap的特性 高性能:zap 对日志输出进行了多项优化以提高它的性能 日志分级:有 Debug,Info,Warn ......
日志 常用 golang uber log

Go 语言体系下的微服务框架选型:Dubbo-go

以 Dubbo-go 为中心的微服务体系在多个知名企业中成功落地和实践,框架的稳定性在实际场景下经受住了考验。 ......
框架 Dubbo-go 体系 语言 Dubbo

Flask快速入门day 04(请求上下文分析:request源码分析,导出项目依赖,偏函数的使用,flask生命流程,wtforms)

Flask框架 一、请求上下文分析(源码:request原理) 1、导出项目依赖 - 之前导出项目依赖使用 pip freeze > requiremnts.txt - 现在导出项目依赖 # 使用第三方模块 # 优点:可以根据项目使用的模块,更加精准的导出 - 使用方法: # 第一步:安装 pip ......
上下文 函数 源码 上下 流程

go语言内存对齐

go语言内存对齐 什么是内存对齐 内存对齐,是代码编译后在内存的布局和使用方式。当一个内存地址a是n字节的倍数(其中n是2的幂)时,内存地址a被称为n字节对齐。编译器会将数据按照特定的规则,把数据安排到合适的存储地址上,并占用合适的地址长度 比如:存储int32位和int64位的数据时 没有进行内存 ......
内存 语言

Context响应,重定向,自定义函数,Abort

前言: Context 对象提供了很多内置的响应形式,JSON、HTML、Protobuf 、MsgPack、Yaml 、 String等。它会为每一种形式都单独定制一个渲染器。 Context是Gin最重要的部分。它允许我们在中间件之间 传递变量,管理流程,验证请求的JSON 并 呈现JSON响应 ......
函数 Context Abort

【享元设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

简介 享元模式(Flyweight Pattern),是一种结构型设计模式。主要用于减少创建对象的数量,以减少内存占用和提高性能。它摒弃了在每个对象中保存所有数据的方式,通过共享多个对象所共有的相同状态,让你能在有限的内存容量中载入更多对象。 当程序需要生成数量巨大的相似对象时,可能对内存有大量损耗 ......
设计模式 语言 模式 Python Java

go mod 替换不可用包

require( xxxxxxx v0.0.0-incompatible ) replace( xxxxx => xxxx 分支 ) 以上文件中的 xxxxxx 代码仓库 修改为以上格式,然会使用replace 命令替换 仓库到分支, 使用go mod tidy 命令修复后会自动引用这个分支上合适的 ......
mod go

Excelize 发布 2.7.1 版本,Go 语言 Excel 文档基础库

Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,2023年4月10日,社区正式发布了 2.7.1 版本,该版本包含了多项新增功能、错误修复和兼容性提升优化。 ......
Excelize 版本 语言 文档 基础

Go笔记(一):基本数据类型

一、常量 1、语法格式 常量,编译阶段已经确定了值,程序在运行时无法改变常量的值。定义一个常量使用const关键字,语法格式如下: const constantName [type] = value const: 定义常量关键字; constantName: 常量名称; type: 常量类型; va ......
类型 笔记 数据