点数decimal golang
golang 的github.com/sony/sonyflake IP问题bug
使用容器部署golang项目时,饮用了 github.com/sony/sonyflake 生成snow id,初始化时不传入任何参数: SnowId = sonyflake.NewSonyflake(sonyflake.Settings{}) 在容器的ip设置设置为类似:192.18.10.8时, ......
Golang实现JAVA虚拟机-运行时数据区
原文链接:https://gaoyubo.cn/blogs/8ae1f4ca.html 前置 Golang实现JAVA虚拟机-解析class文件 一、运行时数据区概述 JVM学习: JVM-运行时数据区 运行时数据区可以分为两类:一类是多线程共享的,另一类则是线程私有的。 多线程共享的运行时数据区需 ......
Golang实现JAVA虚拟机-解析class文件
原文链接:https://gaoyubo.cn/blogs/de1bedad.html 前言 所需前置知识为:JAVA语言、JVM知识、Go笔记 对应项目:jvmgo 一、准备环境 操作系统:Windows 11 1.1 JDK版本 openjdk version "1.8.0_382" 1.2 G ......
Golang 常用工具记录
Golang 常用工具记录 1 golang 类 1.1 日常使用的 copier 复制结构体到另外一个结构体 等等类似的功能 asynq Go中简单、可靠、高效的分布式任务队列,使用 redis 做为 broker machinery Machinery是基于分布式消息传递的异步任务队列/作业队列 ......
golang go.mod
go mod 指定并加载版本号4.1. 方法一 go mod指定替换版本在项目的go.mod中用replace指定包版本号,比如: replace google.golang.org/grpc => google.golang.org/grpc v1.26.04.2. 方法二 go mod指定大小版 ......
涉及到金额的时候是,使用Decimal而不是float和double 浮点数
decimal库包是用来解决float类型对象之间运算不准确的问题的。所以,如果你想使用decimal库包,你必须先把float类型对象通过decimal.NewFromFloat()函数转成decimal.Decimal类型,然后再计算,最后还得再转成你所需要的类型。 范例: package ma ......
golang中的fs.ReadDir
平时习惯了./和../作为访问目录的路径,但今天使用golang中fs.ReadDir这个函数的时候发现这个习惯是不正确的。 但是常用的命令并没有分很清楚.和./ 在这几个命令中使用.或./都可以到达目录下 ls cd 错误示范 package main import ( "fmt" "io/fs" ......
golang简单判断22-65535开发情况
package main import ( "fmt" "net" "sync" "time" ) func main() { server := "42.51.129.175" // 要检查的服务器地址 ports := make([]int, 65535) // 要检查的端口范围,从22到655 ......
【go】Go (Golang) 语言-Golang 定时器Timer和Ticker、time.AfterFunc、time.NewTicker()实例
Golang 定时器Timer和Ticker Golang 定时器包括:一次性定时器(Timer)和周期性定时器(Ticker)。 编程中经常会通过timer和ticker、AfterFunc定时器NewTicker是设定每隔多长时间触发的,是连续触发,而计时器NewTimer是等待多长时间触发的, ......
在golang中如何实现 WebSocket 的双向通信
在golang中如何实现 WebSocket 的双向通信 ? 原创 磊丰 Go语言圈 2023-12-21 08:30 发表于广东 听全文 Go语言圈 Go语言开发者的学习好助手,分享Go语言知识,技术技巧,学习与交流Go语言开发经验,互动才有助于技术的提升,每天5分钟,助你GO语言技术快乐成长 1 ......
Unity 3D定点数物理引擎实战系列1.1BEPUphysicsint 3D定点数物理引擎介绍
1.1BEPUphysicsint 3D定点数物理引擎介绍 对惹,这里有一个游戏开发交流小组,希望大家可以点击进来一起交流一下开发经验呀 帧同步的游戏中如果用物理引擎,为了保证不同设备上的结果一致,需要采用定点数来计算迭代游戏过程中的物理运算。也就是我们通常说的定点数物理引擎(确定性物理引擎)。本系 ......
使用 golang 开发 PHP 扩展
使用 golang 开发 PHP 扩展 环境 golang go1.19.9 darwin/arm64 Macos/Linux PHP8.1.11 编译安装 实战 PHP脚手架生成 进入PHP源码,使用命令 php ext/ext_skel.php --ext go2php 会在ext目录下生成go ......
python 浮点数 round 舍一法 向零取整 df 数组 Series 三种数据类型实现
介绍:python的round函数,默认进行四舍五入,我需要将3.45 保留一位小数,3.4 一、一般格式 使用 Python 的内置函数 math.floor() 来向下取整到指定的小数位数。例如,如果你想保留小数点后一位并向下取整,可以这样做: import math num = 3.45 ro ......
golang封装命令做pipe管道
package main import ( "fmt" "io" "os/exec" ) func main() { fmt.Println("vim-go") // pipeReader, pipeWriter := io.Pipe() binPath := "../03-ncpk-nvm/nvm ......
Golang 配置文件动态更变(viper)
一.下载包 go get github.com/spf13/viper 二.源码 1 func LoadConf(fpname string) { 2 ini := viper.New() 3 ini.SetConfigFile(fpname) 4 5 ini.SetDefault("databas ......
Golang的闭包和匿名函数
Golang语言支持匿名函数,这些匿名函数也被称为闭包。匿名函数是一种特殊类型的函数,它没有名称,而闭包可以看作是一种特殊类型的匿名函数,尽管在实践中有微小的区别。 Golang 中的匿名函数匿名函数也可以称为字面函数、lambda 函数或闭包。闭包的概念源于 lambda 计算中表达式的数学评估。 ......
golang 多协程赋值 error 问题
近期遇到一个问题 golang 在多协程情况下,对一个 error 进行赋值,本意是无论多少个协程,只要有个一个 error,那么就认为是 error 错误. 但是在实际写的过程中遇到问题就是需不需要加锁,不加锁会影响什么 代码如下(伪代码) func main(){ var err error v ......
Golang io.Pipe()函数及示例
https://geek-docs.com/go-tutorials/go-examples/g_io-pipe-function-in-golang-with-examples.html 在Go语言中,io包提供了基本的I/O原语接口,其主要工作是封装这些原语的正在进行的实现。Go语言中的 Pip ......
golang多版本管理工具g使用(windows)
1.下载地址 https://github.com/voidint/g/releases 2.选择win版本包 3.解压后将g.exe放入自定义目录,这里我放在C:\Program Files\g 4.设置环境变量 编辑系统变量, 添加Path值 5.打开powershell 6.默认情况下,安装的 ......
Golang GORM 返回多数据集 []map[string]interface{}
1 // 返回多数据集 2 func UserManySet() { 3 4 rows, err := DB.Raw(`select * from [user];select * from [user1];`).Rows() 5 if err == nil { 6 for { 7 var resul ......
获取golang在发送 http.NewRequest 请求时的实际参数
有如下post请求 request, err := http.NewRequest(http.MethodPost, url, r) 其中r是io.Reader请求参数 可以使用以下方法获取实际发送请求时的参数: requestDump, err := httputil.DumpRequest(re ......
decimal插件计算
import { Decimal } from 'decimal.js'; //引入 export const cal = { jia(num1, num2) { return new Decimal(num1).add(new Decimal(num2)) }, jian(num1, num2) ......
【YOLOv5】实现扑克牌的点数识别
前言 其实年初的时候,我也跟着别人的源码,用 Tensoflow 实现过扑克牌的目标检测。虽然也通过博文的方式记录了,但是那个项目使用的 TF 版本比较旧,自身对 TF 并不熟。后期如果说要升级或修改估计够呛,知道最近看到 YOLO 对目标检测的实现方法,发现这个更方便快捷。 于是决定用 YOLOv ......
golang build 不同系统下的可执行文件
接着使用如下命令行运行上面的代码: go run -gcflags "-m -l" main.go 使用 go run 运行程序时,-gcflags 参数是编译参数。 其中 -m 表示进行内存分配分析,-l 表示避免程序内联,也就是避免进行程序优化。 1、Mac下编译Linux, Windows平台 ......
Golang type和kind
Type是类型,Kind是类别。Type和Kind可能是相同的,也可能是不同的 var num int = 10 num的Type是int,Kind也是int var stu Student stu的Type是 包名.Student,Kind是struct ......
Golang实现简易的顺序执行协程池
countable_executor.go // 一个可计数的单线程顺序任务执行器 type CountableExecutor struct { name string // 名称 taskQueue chan iCountableTask // 任务队列 bufferSize int // 缓冲 ......
Unity3D 帧同步核心技术: 3D定点数物理引擎架构实战详解
在游戏开发中,帧同步技术是一项非常重要的技术,它可以保证多个玩家在不同的客户端上看到的游戏画面和动作是一致的。本文将详细介绍Unity3D中的帧同步核心技术,并以3D定点数物理引擎架构为实例进行实战演示和代码实现。 一、帧同步核心技术概述帧同步是指多个客户端在同一时间点进行游戏画面和动作的更新,以保 ......
浮点数与定点数相互转换(仅考虑正数情况)
1. 浮点数转换为定点数 定点数总位宽设为 \(W\) ,小数部分字长设为 \(F\) 那么,考虑一个浮点数 \(a\) ,将其转换为定点数的操作为: 一: 计算 \(b = a \times 2^{F}\) ; 二: 将 \(b\) 化为整数 \(^*\) ; 三: 用二进制将 \(b\) 表示成 ......