时针 矩阵offer go

使用Go Validator在Go应用中有效验证数据

使用Go Validator在Go应用中有效验证数据 原创 TimLiu 爱发白日梦的后端 2023-12-01 08:01 发表于广东 作为一名开发者,确保Go应用中处理的数据是有效和准确的非常重要。Go Validator是一个开源的数据验证库,为Go结构体提供强大且易于使用的数据验证功能。本篇 ......
Validator 数据

代码随想录算法训练营第二天 | 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II

LeetCode 977.有序数组的平方 视频连接: LeetCode 977 思路: 利用双指针,通过首指针和尾指针的平方值比较,大的那个装入新的vector数组中,然后再更新指针。 class Solution { public: vector<int> sortedSquares(vector ......
数组 随想录 训练营 矩阵 螺旋

go-GMP 协程切换时机 和 协程实战

当m在执行某个g的时候,g非常耗时,例如一个for循环,每次循环sleep1分钟,循环1000次。 这个例子看似无聊,却是很难解决的,成功的避开了2个系统切换时机。 如果这个时候,一直执行这个g,别的g就会得不到执行,例如有g是处理用户支付的,这样就会造成收钱不积极。 协程饥饿问题 本地队列 本地队 ......
实战 时机 go-GMP GMP go

刚硬矩阵 (2) Walsh–Hadamard 变换的 "更快" 算法

\(\newcommand{\sfT}{\mathsf T}\newcommand{\rank}{\operatorname{rank}}\) 为了避免歧义, 我们这里约定 \[H = \begin{bmatrix}1 & 1 \\ 1 & -1\end{bmatrix}, \]以及 \(2^n\t ......
矩阵 quot 算法 更快 Hadamard

go-GMP

go的协程和线程都绕不过GMP,关于GMP基本的工作流程,有go开发经验的大致都懂,这边更多关注GMP如何解决一些类似 协程饥渴的问题,以及底层的大致实现原理。 多线程循环 上篇讲了单线程是如何循环的,这里还是为 GMP的出场 大致介绍下。 工作模型 多个M都去全局G的队列中获取 g,所以,全局g的 ......
go-GMP GMP go

go build 跟 go run 的区别

go build 和 go run 是 Go 语言中两个常用的命令,它们的主要区别在于编译和执行的过程。 1.go run go run 命令用于编译并运行 Go 程序。它将源代码直接编译成可执行文件,并立即运行该文件。这个命令非常适合用于快速测试和运行小规模的代码片段。 使用 go run 命令时 ......
build go run

(转)Go实现随机加盐密码认证

原文:https://juejin.cn/post/7068192471498358821 为什么要加密 人们往往有使用同一密码的习惯, 为了防止数据库意外泄露/破坏和出于保护用户隐私的目的, 不应在数据库里存入用户密码明文 实现 代码 scss 复制代码 package main import ( ......
机加 密码

73. 矩阵置零

73. 矩阵置零 2021年3月21日每日一题 O(1)额外空间写法 简单理解一下 ​ 首先我们对于矩阵内所有\(\sum_{i=0}^{m}{\sum_{j=1}^{n}}0\),记录到第0行和第0列上 ​ 那么,我们只需要对于\(\sum_{i=1}^{m}{\sum_{j=1}^{n}}\), ......
矩阵 73

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

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

go的GPM - 协程的本质

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

矩阵乘法运算

代码是对整数的 如果要对小数的话 改个字符就OK啦 用途没有 就是做线性代数怕计算罢了 #include <stdio.h> void createMatrix(int a[10][10], int m, int n) { for (int i = 0;i < m; ++i) { for (int ......
乘法 矩阵

安装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

一些矩阵的非刚性 (1)

\(\newcommand{\rank}{\operatorname{rank}}\newcommand{\codim}{\operatorname{codim}}\) 矩阵刚性 (matrix rigidity) 是这样一个概念: 对于一个矩阵 \(M\), 我们可能希望将它分解为 \(M = L ......
刚性 矩阵

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

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

除去自身的最大因数 矩阵对角线互换

7-2 除去自身的最大因数 输入一个整数,计算该整数除去自身的最大因数。 输入格式: 一个整数a。 输出格式: 一个整数,整数a除去自身的最大因数。 输入样例: 在这里给出一组输入。例如: 6 输出样例: 在这里给出相应的输出。例如: 3 解题思路: 1.题目意思:输入一个数,找到它除自身之外的最大 ......
对角线 因数 对角 矩阵

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

邻接矩阵存储创建有向图

#include<iostream>using namespace std;//邻接矩阵需要顶点表,二维矩阵,还有点数边数#define MVNum 100typedef struct{ char vexs[MVNum]; //顶点表 int arcs[MVNum][MVNum]; //矩阵 int ......
有向图 矩阵

go数据类型-map

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

多边形顶点顺时针排放

效果 //凹多边形,凸多边形都能判断 public static bool IsVertsClockwise(Vector2[] verts) { if (verts.Length < 3) return false; //劣角数量比优角数量多 //假设是顺时针, 那叉乘结果为正的次数比负多 int ......
多边形 时针 顶点

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 标准

「有问必答」秒杀系统 Go并发编程实践!

使用互斥锁和计数器等原语,我们实现了并发控制、数据一致性和并发安全。这些原语帮助我们解决了高并发场景下的并发访问问题,并保证了系统的稳定性和性能。 ......
系统

Go语法糖——简短变量声明“:=”

参考地鼠文档——GO专家编程中的内容,我总结了关于 := 的几条规则,并以代码举例的运行结果来说明可行性,以避免编程中出现一些陷阱。 规则一:不能用于函数外部 package main import "fmt" rule := "Short variable declarations" func m ......
变量 语法