runtime go
go链接mysql 和 数据库
连接数据库公共方法 package database import ( "Ganzhou/config" "Ganzhou/pkg/log" "Ganzhou/pkg/util/security" "database/sql" "fmt" "github.com/cengsin/oracle" "g ......
Go 后台接口书写
设置路由 package healthinterface import ( "Ganzhou/config" "Ganzhou/gzq/healthinterface/routers/gzhealthrinterface" "Ganzhou/pkg/log" "Ganzhou/pkg/middlew ......
go sign签名验签 和 sm4 加密
sign 方法类 package common import ( "Ganzhou/config" "Ganzhou/pkg/log" "crypto" "crypto/rand" "crypto/rsa" "crypto/x509" "encoding/base64" "encoding/pem" ......
go数据类型-map
go的map在面试时候经常会被问到。 最近看到群里有个被问到为什么map的每个桶中只装8个元素? map 的结构 注:解决hash冲突还有一些别的方案:开放地址法 (往目标地址后面放)、再哈希法(再次hash) 底层定义 // A header for a Go map. type hmap str ......
go 超好用图形验证码
https://zh.mojotv.cn/go/refactor-base64-captcha 点击下图链接 跳转到github中: 使用单机部署: 生成图片验证码: package Controllers // 图形验证码 import ( "github.com/gin-gonic/gin" " ......
go数据类型-slice底层
切片的底层数据结构 有上篇string为基础了,能猜到slice肯定也有一个对应的struct。 在runtime的 slice.go中 type slice struct { array unsafe.Pointer len int cap int } 切片的本质是对数组的引用 len 表示当前已 ......
wasm3 webassebly 解释器以及通用runtime
wasm3是基于c 开发的webassembly runtime ,通过了webassebly 指南的不少测试,可以运行不少wasi 的应用 安装 可以自己构建,同时github 上也提供了编译好的对于mac 可以通过brew install wasm3 安装 使用 比如以前基于emscripten ......
go基础数据类型 - string的底层
先上一段代码 : func main() { content := "长沙boy" content1 := "boy" fmt.Printf("content: %d\n", unsafe.Sizeof(content)) fmt.Printf("content1: %d\n", unsafe.Si ......
Go标准库学习:strconv
strconv包 strconv包主要包括进行数值类型和字符串/字节数组进行转换的函数,还有部分给字符(串)添加引用的函数。 主要是对官网文档的总结和翻译。 官网:https://pkg.go.dev/strconv@go1.21.4 常量 const IntSize = intSize 表示Int ......
「有问必答」秒杀系统 Go并发编程实践!
使用互斥锁和计数器等原语,我们实现了并发控制、数据一致性和并发安全。这些原语帮助我们解决了高并发场景下的并发访问问题,并保证了系统的稳定性和性能。 ......
Go语法糖——简短变量声明“:=”
参考地鼠文档——GO专家编程中的内容,我总结了关于 := 的几条规则,并以代码举例的运行结果来说明可行性,以避免编程中出现一些陷阱。 规则一:不能用于函数外部 package main import "fmt" rule := "Short variable declarations" func m ......
go程序启动过程
go的启动入口函数 对go有开发经验的朋友都知道,main函数不是真正的启动入口,只是go暴露给用户编写的业务的接口。 这点上基本所有的语言都是类似,在main函数调用前,go需要做一系列的准备工作。 go的启动在 runtime/rto XXX.s, xxx是因为平台的差异。不同系统不同芯片都有自 ......
go 编译 ssa与Plan9
一、目的 简单看下go编译过程,便于理解go为什么能编译出不同平台都能运行的可执行文件,克服了c和c++需要针对不同平台分开编译的问题。 那些过程能在开发过程中用到,帮助定位问题。 二、整体 编译前端的都好理解,语义分析时候,需要进行go的逃逸分析。 中间码生成 ssa 任意写一个demo: imp ......
Go 自动生成代码工具二 (在proto文件中定义http的接口,并自动生成gin的接口工具)
一、需求分析 在和前端对接过程中,需要后端维护一份接口文档,对于这份文档的维护在实际工作中会有一系列的问题,例如参数个数、参数类型、返回类型等。 主要还是后期需要一直维护,如果改了接口,忘记维护文档就会导致前端调用异常。 但是当使用 protobuf定义好了接口,微服务相互间调用,一般不会出现这类问 ......
go: -race requires cgo cgo: C compiler "gcc"
go run -race main.go --action pubgo: -race requires cgo; enable cgo by setting CGO_ENABLED=1 cgo: C compiler "gcc" not found: exec: "gcc": executable ......
Go 自动生成代码工具 一( go-zero 中 goctl rpc 命令代码生成原理)
总共分为三篇: 1. 分析`go-zero`中 ` coctl rpc` 通过一个` proto`文件生成一系列文件。 2. 模仿这个原理,结合`protoc` 生成代码的特性,把gin的接口定义,也放入proto文件中,自动生成gin的接口代码。 3. 自动生成项目中error错误定义文档。(通过 ......
go map的坑
range时不能动态的增加map的range范围 golang的map是hash表实现的,hash表的遍历就是遍历所有的桶,所以新添加的元素可能出现在之前遍历过的桶中,这样就会有些新添加的元素可能遍历不到。 实际生成环境中,不建议遍历一个正在写入的map,这并不是一种好的设计,如果确实有这样的需求, ......
electron+go开发记录
// 设置应用通过防火墙,electron方面 const command = `netsh advfirewall firewall add rule name="mange" dir=in program="${mange}" action=allow` // cmd允许应用通过防火墙的命令 / ......
lunatic Erlang 启发的webassembly runtime
lunatic 属于一个webassembly 的runtime ,提供了隔离,轻量的进程架构模式,可以方便的创建分布式集群(类似erlang 提供的集群能力) 包含的特性 开源 apache 以及MIT 许可协议 高性能 提供了jit 编译的wasm 安全 核心是wasm 的 能力 容错 提供了类 ......
Prometheus Go client library 详解
介绍 Prometheus 支持 4 种 指标类型,分别是 Counter、Gauge、Histogram 和 Summary。 Counter 指标类型,指标值是只能递增,不能递减的数值。需要注意的是,当 Prometheus server 重启时,指标值会被重置为 0。该指标类型可用于统计接口的 ......
在 Go-Kratos 框架中优雅的使用 GORM 完成事务
准备工作 创建新项目 kratos new helloworld cd helloworld # 拉取项目依赖 go mod download # 项目中的 config 等请自行修改 添加事务 如果您还不了解 Kratos、 mysql 事务 和 GORM 的话请先了解一下。 data 层承载事务 ......
2023-11-25:用go语言,给定一个数组arr,长度为n,表示n个格子的分数,并且这些格子首尾相连, 孩子不能选相邻的格子,不能回头选,不能选超过一圈, 但是孩子可以决定从任何位置开始选,也可以
2023-11-25:用go语言,给定一个数组arr,长度为n,表示n个格子的分数,并且这些格子首尾相连, 孩子不能选相邻的格子,不能回头选,不能选超过一圈, 但是孩子可以决定从任何位置开始选,也可以什么都不选。 返回孩子能获得的最大分值。 1 <= n <= 10^6, 0 <= arr[i] < ......
go 上下文:context.Context
go 上下文:context.Context 原创 孟斯特 孟斯特 2023-11-17 08:30 发表于北京 收录于合集#Golang92个 Go语言中的上下文(Context)是一种用于在 Goroutines 之间传递取消信号、截止时间和其他请求范围值的标准方式。context 包提供了 C ......
Jaeger Client Go 链路追踪|入门详解
目录 从何说起 Jaeger 部署 Jaeger 从示例了解 Jaeger Client Go 了解 trace、span tracer 配置 Sampler 配置 Reporter 配置 分布式系统与span 怎么调、怎么传 HTTP,跨进程追踪 客户端 Web 服务端 Tag 、 Log 和 R ......
go--条件判断 if、switch
if 基本语法 if 条件A{ ... }else if 条件B{ ... }else if 条件C{ ... }else{ ... } 例子 package main import "fmt" func main() { var fruit string = "6 个苹果" var waterme ......
Go标准库学习:strings和bytes
strings包和bytes包 strings包和bytes包非常像,几乎所有函数都有string和[]byte两种接口,其中前者被实现在strings包中,而后者被是现在bytes包中,所以这里将这两个包一起学习。 官方文档: strings包:https://pkg.go.dev/strings ......
Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file
转: https://blog.csdn.net/qq_26898033/article/details/128915500 1 错误信息 org/ springframework /boot / maven/BuildInfoMojo hasbeen copiled by a more recen ......
go-view 依赖库
go-view 依赖库 const packageReadme = { "name": "go-view", "version": "2.2.6", "engines": { "node": ">=12.0" }, "scripts": { "dev": "vite --host", "build" ......
This application requires a java runtime environment 1.6.0
解决 This application requires a java runtime environment 1.6.0 问题描述 在安装 ptolemyII 的时候,提示我没有java运行环境。但是实际上作为jvm的hn,我电脑上就有各种版本的jdk,什么环境变量、java -version都保 ......