一道golang

E. Imprecise Computer和华为CCPC2023挑战赛的一道题目

华为挑战赛 建议看我们队长的2023CCPC华为云挑战赛 C-装箱问题 - 凉宫景 - 博客园 (cnblogs.com) Problem - E - Codeforces 题目说是有台计算机对于绝对值差小于2 的两个数的大小判断会出错误,现在要求对1-n判断两轮小于i的数,然后做差绝对值.给出绝对 ......
挑战赛 Imprecise Computer 题目 一道

GoLang:map

学习自:GoLang学习手册100页 1、说明 map,即字典,存储一系列的K-V对,通过Key获取响应的元素。 2、定义 1)定义 dic := map[K类型]V类型{K1:V1,K2:V2,K3:V3,...} var dic map[K类型]V类型 = map[K类型]V类型{K1:V1,K ......
GoLang map

CentOS 7.9 一键安装 Node.js Golang Docker 环境

本脚本仅支持CentOS7.9_x64, 安装 golang 1.21.0 node.js 16.20.2 docker latest ``` bash #!/bin/bash yum install -y wget make NODE_VERSION=node-v16.20.2-linux-x64 ......
环境 CentOS Golang Docker Node

golang.org/x/子仓库

在 Go 语言的生态中,`golang.org/x/` 是一个特殊的前缀,它表示一系列 Go 子仓库,这些子仓库包含了 Go 核心开发团队维护的实验性或辅助工具、库和包。这些仓库可能不会被包含在 Go 的标准库中,但它们仍然由 Go 的核心维护者维护,并且通常有很高的质量标准。 这些 `golang ......
仓库 golang org

golang 读取运行程序的相关目录

获取运行程序的所在目录、工作目录 import ( "fmt" "os" "path/filepath" ) func main() { fmt.Println("start m1") path, _ := os.Executable() fmt.Println("path", filepath.D ......
目录 程序 golang

一道牛客题相关的思考

牛客多校 2023 10 H: - $F_0(x)=x$ - $F_k(x)=(x^2-1)F'_{k-1}(x)$ 给定 $x_0$,求 $F_n(x_0)$。 场上我的做法: 设 $f_{i,j}$ 为 $F_i$ 求 $j$ 次导后,$x_0$ 的点值。 那可以导出递推式: $f_{i,j} ......
一道

golang Gin框架 自定义日志形式

```go func main() { router := gin.New() // LoggerWithFormatter middleware will write the logs to gin.DefaultWriter // By default gin.DefaultWriter = o ......
框架 形式 golang 日志 Gin

golang字符串切片去重

函数的功能是从输入的字符串切片中去除重复的元素,并返回去重后的结果。具体的实现逻辑如下: 创建一个空的结果切片result,用于存储去重后的字符串。 创建一个临时的maptempMap,用于存放不重复的字符串。map的键是字符串,值是字节类型。 遍历输入的字符串切片slc中的每个元素e: 首先,获取 ......
字符串 字符 golang

golang之代码检查工具golangci-lint

日常开发中,想要保证工程中代码能够正常运行, 一般都会使用vet进行代码静态扫描, 但是每次手动执行命令有点不太方便,如果在每次开发完成之后,git提交的时候都进行下检查就OK了,想好就干!!! 这里使用golangci-lint这个包: https://golangci-lint.run gola ......
golangci-lint golangci 代码 工具 golang

Golang之数据库转换结构体工具table2struct

另外一个根据json生成对应结构体在线工具: https://mholt.github.io/json-to-go/ 安装: go get github.com/gohouse/converter 或者下载对应平台的二进制文件 https://github.com/gohouse/converter ......
table2struct 2struct 结构 数据库 工具

Golang 高效并发安全的字节池

记录一下,这里学的BytePoolCap, 和sync.Pool 总之就是这个BytePoolCap比sync.Pool快一些,目前不会测试,后面测试了再来填坑。 ``` package main import ( "fmt" ) func main() { // var bpool BytePoo ......
字节 Golang

Golang 语言学习路线

学习Go语言是一个很好的选择,它具有高效的编译速度、强大的并发支持和简洁的语法。适用于初学者的Golang学习路线: **1. 学习基础:** - 安装Go:从官方网站下载并安装Go语言的最新版本。 - Hello, World!:学习如何编写一个简单的Hello World程序,并运行它。 - 基 ......
语言学习 路线 语言 Golang

初识Go(Golang)语言(2)

# 初识Go(Golang)语言(2) ## Go开发工具的使用 ~~~Go 1.vscode使用直接下载vscode(免费软件),在内部下载golang语言插件,即可使用。 2.JetBrains全家桶之(Goland[IDE]),永久免费"试用"。下方仅供参考,过期了就过期了。一般所有去哪佳通都 ......
语言 Golang Go

让 GPT-4 来修复 Golang “数据竞争”问题(续) - 每天5分钟玩转 GPT 编程系列(7)

[TOC] ## 1. 我以为 我以为 [GoPool](https://github.com/devchat-ai/gopool) 这个项目会昙花一现,从此在 GitHub 上封尘。 > 关于 GoPool 项目诞生的故事:[《仅三天,我用 GPT-4 生成了性能全网第一的 Golang Work ......
GPT 数据 Golang 问题

《高级程序员 面试攻略 》优化golang程序性能的手段

优化 Go 程序的性能可以通过多种手段来实现。以下是一些常用的优化技术和方法: 1. 并发和并行:利用 Go 语言的轻量级协程(Goroutine)和并发原语,将程序中适合并发执行的任务并行化,以充分利用多核处理器的能力。使用适当的同步机制,如通道(Channel)和互斥锁(Mutex),确保并发操 ......
程序 程序员 手段 性能 攻略

《高级程序员 面试攻略 》golang协程调度 通俗拟人解释

当谈到 Go 语言中的协程调度时,可以将其形象地比喻为一个聪明而高效的调度器,它负责管理和分配协程的执行。 这个调度器就像是一个忙碌的主人,负责监管和安排协程们的工作。它有着敏锐的观察力,时刻关注每个协程的状态和需求。当一个协程请求执行时,调度器会立即为它分配一定的执行时间,并将其放入执行队列中。 ......
拟人 程序员 攻略 程序 golang

让 GPT-4 来修复 Golang “数据竞争”问题 - 每天5分钟玩转 GPT 编程系列(6)

[TOC] ## 1. Golang 中的“数据竞争” 我在上个月发过一篇[《跟着 GPT-4 从0到1学习 Golang 并发机制(三)》](https://www.danielhu.cn/from_0_to_1_go_concurrency_with_gpt_3/#23-race-detecto ......
GPT 数据 Golang 问题

Golang之旅——Defer

## defer 首先来看一下官方的解析: 1. A deferred function’s arguments are evaluated when the defer statement is evaluated. 2. Deferred function calls are executed ......
之旅 Golang Defer

Golang 内嵌静态资源-转

转载:https://www.mousemin.com/archives/go-embed-resource/ 把静态资源嵌入在程序里,原因无外乎以下几点: 布署程序更简单。传统部署要么需要把静态资源和编译好的程序一起打包上传,要么使用docker和dockerfile自动化. 保证程序完整性。运行 ......
静态 Golang 资源

Golang: 使用embed内嵌资源文件-转

转载:https://blog.kakkk.net/archives/71/ embed介绍 首先,embed是 go 1.16才有的新特性,使用方法非常简单,通过 //go:embed指令,在打包时将文件内嵌到程序中。 官方文档:https://pkg.go.dev/embed 快速开始 文件结构 ......
文件 Golang 资源 embed

Golang: 如何交叉编译

0. golang 可以交叉编译出不同操作系统运行的程序 1. 在mac m2 架构下,golang程序 mian文件所在的主目录下,即可生成 # 在命令行进入项目根目录,并执行以下命令 CGO_ENABLED=0 GOOS=xxx GOARCH=xxx go build 参数说明: CGO_ENA ......
Golang

golang简单实现CLHLock,不可重入的clh自旋锁

如果不想自旋,可以把Lock、waitIsFinish和noticeIsFinish代码中的方式2注释掉,改用方式1。不过实际测试在低并发的情况下,自旋的执行效率更高,要根据实际业务场景选择使用哪种方式。 源代码如下: import ( "runtime" "sync/atomic" ) const ......
CLHLock golang clh

Golang之旅——内存管理

## 转载放在最前 [一文带你了解,虚拟内存、内存分页、分段、段页式内存管理](https://zhuanlan.zhihu.com/p/451736494)[[Golang三关-典藏版]一站式Golang内存洗髓经 | Go 技术论坛](https://learnku.com/articles/6 ......
内存 之旅 Golang

golang网络编程

Go语言的网络编程主要使用 net 包来实现。该包提供了一组基本的网络功能,包括 TCP 和 UDP 套接字、IP 地址和端口号的处理、以及一些高级特性,如非阻塞 I/O 和 HTTP 客户端库。 ......
网络编程 golang 网络

golang 构造函数的应用

在Go语言中,没有类似于传统面向对象编程语言中的构造函数的概念。然而,你可以使用初始化函数来达到类似的效果。 在Go中,结构体(struct)是一种用于封装一组相关字段的数据类型。你可以为结构体定义一个初始化函数,该函数在创建结构体实例时自动调用,用于设置字段的初始值。这个初始化函数通常被命名为结构 ......
函数 golang

golang之协程+chan通道

[管道] 分为 有缓冲和无缓冲两种 无缓冲: 1)接受者与发送者必然存在于两个协程, 否则会造成互相等待 死锁的情况 顺序执行多协程: var ch1 = make(chan int) var stopFlag = make(chan bool) // 保证两个协程顺序执行 go func() { ......
通道 golang chan

golang 学习笔记

1. 函数调用时传递的参数为拷贝的副本, 在函数内部改变参数的值不会影响原变量。但是 golang 中 slice、map、channel、pointer、function 是引用类型,赋值时拷贝的是指针值,对这些变量作出修改时会影响原变量的值。2. array(数组)与 slice(切片) 的区别 ......
笔记 golang

Golang - 原生go-sql-driver:出现invalid connection报错

在使用go-sql-driver/msqyl驱动过程中,偶现invalid connection错误,字面上看就是无效连接的意思。 开始以为是数据库压力问题或是网络不好,后来发现服务器和数据库是走内网的,网络出现问题几率非常小;只是在测试服务器上跑,没多少连接,不存在压力问题。 golang数据库驱 ......

一道关于幂次方矩阵题目的精彩解法

这道题源自23版李林880的矩阵章节,题目如下: 设矩阵 $A=\left[ \begin{matrix} 1 & -1 & -1 & -1 \\ -1 & 1 & -1 & -1 \\ -1 & -1 & 1 & -1 \\ -1 & -1 & -1 & 1 \end{matrix} \right ......
解法 矩阵 题目 一道

使用golang解决LeetCode热题Hot100(1-10)

# 使用golang解决LeetCode热题Hot100 ## 1.两数之和 ### https://leetcode.cn/problems/two-sum/ #### 题目 给定一个整数数组 `nums` 和一个整数目标值 `target`,请你在该数组中找出 **和为目标值** *`targe ......
LeetCode golang Hot 100 10