switch go

Dokcer + nginx + Gitee Go 实现一键化部署你的项目

- 什么是 CICD 是指持续集成、持续发布,是⼀套实现软件的构建测试部署的⾃动化流程。 什么是 DevOps ⼀词是由英⽂ Development(开发)和 Operations (运维)组合⽽成 ⼀种思想,强调软件开发测试运维的⼀体化,减少各个部⻔之间的沟通成本从⽽实现软件的快速⾼质 ᰁ 的发布 ......
项目 Dokcer nginx Gitee Go

go的GPM - 协程的本质

协程与线程 线程在创建、切换、销毁时候,需要消耗CPU的资源。 协程就是将一段程序的运行状态打包, 可以在线程之间调度。减少CPU在操作线程的消耗 进程用分配内存空间 线程用来分配CPU时间 协程用来精细利用线程 协程的本质是一段包含了运行状态的程序 后面介绍后,会对这个概念更好理解 协程的本质 上 ......
本质 GPM

安装go

1. 安装包直接安装 2. 配置环境变量 GOPARH: 新建的,用来存放go项目代码的地址 GOROOT: 你安装go的目录 3. 创建文件目录 在GOPATH地址下面,创建3个文件夹 ......

go数据类型-空结构体、空接口、nil

空结构体 func main() { a := struct{}{} fmt.Println(unsafe.Sizeof(a)) fmt.Printf("%p\n", &a) } 打印 0 0x117f4e0 有经验的开发人员都知道,所有的空结构体是指向一个 zerobase的地址,而且大小为0 一 ......
接口 类型 结构 数据 nil

Go代码优化

1、Go 语言的 if 语句允许在条件之前传递一个语句。 原始代码: f, contains := factory[string(token)] if contains { // Do something } 优化:(稍微提高了代码的可读性) if f, contains := factory[sT ......
代码

go数据类型-sync.map

定义 在runtime的sync.map包中有定义: type Map struct { mu Mutex // 锁 read atomic.Pointer[readOnly] //包含了readOnly类型的一个struct,下方把 Pointer 也贴了 dirty map[any]*entry ......
类型 数据 sync map

2023-11-29:用go语言,给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。 需保证 返回结果的字典序最小。 要求不能打乱其他字符的相对位置)。 输入:s = “cba

2023-11-29:用go语言,给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。 需保证 返回结果的字典序最小。 要求不能打乱其他字符的相对位置)。 输入:s = "cbacdcbc"。 输出:"acdb"。 来自左程云。 答案2023-11-29: 所有的代码用灵捷3. ......
字符 字符串 字母 字典 位置

go链接mysql 和 数据库

连接数据库公共方法 package database import ( "Ganzhou/config" "Ganzhou/pkg/log" "Ganzhou/pkg/util/security" "database/sql" "fmt" "github.com/cengsin/oracle" "g ......
链接 数据库 数据 mysql

Go 后台接口书写

设置路由 package healthinterface import ( "Ganzhou/config" "Ganzhou/gzq/healthinterface/routers/gzhealthrinterface" "Ganzhou/pkg/log" "Ganzhou/pkg/middlew ......
后台 接口 Go

go sign签名验签 和 sm4 加密

sign 方法类 package common import ( "Ganzhou/config" "Ganzhou/pkg/log" "crypto" "crypto/rand" "crypto/rsa" "crypto/x509" "encoding/base64" "encoding/pem" ......
sign sm4 go sm

go数据类型-map

go的map在面试时候经常会被问到。 最近看到群里有个被问到为什么map的每个桶中只装8个元素? map 的结构 注:解决hash冲突还有一些别的方案:开放地址法 (往目标地址后面放)、再哈希法(再次hash) 底层定义 // A header for a Go map. type hmap str ......
类型 数据 map

Switch case 特例

Switch case 特例 如果当前匹配成功的 case 语句块没有 break 语句,则从当前 case 开始,后续所有 case 的值都会输出,如果后续的 case 语句块有 break 语句则会跳出判断。 public class Test { public static void main ......
特例 Switch case

go 超好用图形验证码

https://zh.mojotv.cn/go/refactor-base64-captcha 点击下图链接 跳转到github中: 使用单机部署: 生成图片验证码: package Controllers // 图形验证码 import ( "github.com/gin-gonic/gin" " ......
图形 go

go数据类型-slice底层

切片的底层数据结构 有上篇string为基础了,能猜到slice肯定也有一个对应的struct。 在runtime的 slice.go中 type slice struct { array unsafe.Pointer len int cap int } 切片的本质是对数组的引用 len 表示当前已 ......
底层 类型 数据 slice

go基础数据类型 - string的底层

先上一段代码 : func main() { content := "长沙boy" content1 := "boy" fmt.Printf("content: %d\n", unsafe.Sizeof(content)) fmt.Printf("content1: %d\n", unsafe.Si ......
底层 类型 基础 数据 string

Go标准库学习:strconv

strconv包 strconv包主要包括进行数值类型和字符串/字节数组进行转换的函数,还有部分给字符(串)添加引用的函数。 主要是对官网文档的总结和翻译。 官网:https://pkg.go.dev/strconv@go1.21.4 常量 const IntSize = intSize 表示Int ......
strconv 标准

java基础学习:流程控制--if,switch分支

一.1.顺序结构 2.分支结构 3.循环结构 二.if,switch分支 1.if分支: 2.switch 3.switch使用时注意事项: ......
分支 流程 基础 switch java

「有问必答」秒杀系统 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 ......
Plan9 Plan ssa go

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 ......
quot cgo compiler requires race

Go 自动生成代码工具 一( go-zero 中 goctl rpc 命令代码生成原理)

总共分为三篇: 1. 分析`go-zero`中 ` coctl rpc` 通过一个` proto`文件生成一系列文件。 2. 模仿这个原理,结合`protoc` 生成代码的特性,把gin的接口定义,也放入proto文件中,自动生成gin的接口代码。 3. 自动生成项目中error错误定义文档。(通过 ......

switch选择结构

switch语句中的变量类型可以是:byte,short,int或char从jdk7开始switch支持字符串string类型public class SwitchDemo01 { public static void main(String[] args) { char a = '林'; swit ......
结构 switch

go map的坑

range时不能动态的增加map的range范围 golang的map是hash表实现的,hash表的遍历就是遍历所有的桶,所以新添加的元素可能出现在之前遍历过的桶中,这样就会有些新添加的元素可能遍历不到。 实际生成环境中,不建议遍历一个正在写入的map,这并不是一种好的设计,如果确实有这样的需求, ......
map go

electron+go开发记录

// 设置应用通过防火墙,electron方面 const command = `netsh advfirewall firewall add rule name="mange" dir=in program="${mange}" action=allow` // cmd允许应用通过防火墙的命令 / ......
electron go

Prometheus Go client library 详解

介绍 Prometheus 支持 4 种 指标类型,分别是 Counter、Gauge、Histogram 和 Summary。 Counter 指标类型,指标值是只能递增,不能递减的数值。需要注意的是,当 Prometheus server 重启时,指标值会被重置为 0。该指标类型可用于统计接口的 ......
Prometheus library client Go

在 Go-Kratos 框架中优雅的使用 GORM 完成事务

准备工作 创建新项目 kratos new helloworld cd helloworld # 拉取项目依赖 go mod download # 项目中的 config 等请自行修改 添加事务 如果您还不了解 Kratos、 mysql 事务 和 GORM 的话请先了解一下。 data 层承载事务 ......
Go-Kratos 框架 事务 Kratos GORM

2023-11-25:用go语言,给定一个数组arr,长度为n,表示n个格子的分数,并且这些格子首尾相连, 孩子不能选相邻的格子,不能回头选,不能选超过一圈, 但是孩子可以决定从任何位置开始选,也可以

2023-11-25:用go语言,给定一个数组arr,长度为n,表示n个格子的分数,并且这些格子首尾相连, 孩子不能选相邻的格子,不能回头选,不能选超过一圈, 但是孩子可以决定从任何位置开始选,也可以什么都不选。 返回孩子能获得的最大分值。 1 <= n <= 10^6, 0 <= arr[i] < ......
格子 首尾相连 孩子 首尾 数组
共2360篇  :10/79页 首页上一页10下一页尾页