Go

Go--gjson

GJSON 是一个用于处理 JSON 数据的 Go 语言库。它提供了一些方便的功能,例如解析 JSON 字符串、查询 JSON 对象、生成 JSON 对象等 下载gjson: go get -u github.com/tidwall/gjson 1、使用 传入 JSON 串和要读取的键路径,路径使用 ......
gjson Go

Go 获取 IP 地址

1. 获取本地IP地址 使用 net 包可以获取本地机器的 IP 地址。以下是一个获取本地 IP 地址的简单示例: package main import ( "fmt" "net" ) func main() { // 获取所有网络接口 interfaces, err := net.Interfa ......
地址 Go IP

Go:条件控制语句

在 Go 语言中,主要的条件控制语句有 if-else、switch 和 select。以下是对它们的简单介绍: 1. if 语句: if 语句用于根据条件执行不同的代码块。它的基本形式如下: if condition { // code block } else if condition2 { / ......
语句 条件

VSCode 自定义 “Go to File”workbench.action.quickOpenNavigateNextInFilePicker 中上下移动的快捷键

默认情况下,是使用 Ctrl+p 也只能向下进行选择,如果用 down 或者 up 手则需要离开主键盘区域,非常的不方便。 放到vscode配置快捷键的json文件中 { "key": "ctrl+n", "command": "workbench.action.quickOpenNavigateN ......

go设计模式之工厂模式

Go语言实现设计模式之工厂方法模式 原创 汀风 汀风说后端 2023-12-06 08:10 发表于北京 汀风说后端 编程知识普及,让学习与工作变得更简单。 18篇原创内容 公众号 摘要: 工厂方法模式是一种创建型设计模式,它将对象的创建延迟到子类中进行,通过定义一个创建对象的接口,让子类决定实例化 ......
模式 设计模式 工厂

Golang(Go语言) 对windows进行注销、关机、重启、闪电关机、闪电重启的操作

有个小项目需要对windows系统进行远程电源操作,于是封装了以下代码方便使用。 目录结构如下: main.go package main import ( "fastshutdown/utils/power" "fmt" ) func main() { err := power.Shutdown( ......
windows 语言 Golang

Go - two bcrypt hashes of the same password are NOT equal

package main import ( "fmt" "golang.org/x/crypto/bcrypt" ) func main() { password := "abcdef" hashedPassword1, _ := bcrypt.GenerateFromPassword([]byte ......
password bcrypt hashes equal same

go concurrency: implement a map

requirement: 实现阻塞读且并发安全的map GO⾥⾯MAP如何实现key不存在 get操作等待 直到key存在或者超时,保证并发安全 implementation: package main import ( "fmt" "sync" "time" ) type sp interface ......
concurrency implement map go

分享go的一些东西

使用值为nil的slice和map会发生什么? 在nil切片中添加元素成功。在nil的map中添加会panic,因为map没有分配实际内存。为空的切片底层数组的指针为nil,但是len,cap都是0,当append时,go会自动分配新的底 层数组。 2.访问map的key需要注意什么? 当访问map ......
东西

Go--连接mysql,增删改查

下载驱动库,下为官方推荐的,还有其他ORM库,暂时没涉及,故本文不做阐述 go get -u github.com/go-sql-driver/mysql 一、连接 1.1 直接连接,查询单行 package main import ( "database/sql" "fmt" _ "github. ......
mysql Go

go 循环语句

package main import "fmt" func main() { // 循环语句 // for init; condition; post {} // for condition {} // for 循环的 range 格式可以对 slice、map、数组、字符串等进行迭代循环。格式如 ......
语句 go

go const 用法

package main import "fmt" func main() { // 声明变量 // iota // iota,特殊常量,可以认为是一个可以被编译器修改的常量。 // 在每一个const关键字出现时,被重置为0,然后再下一个const出现之前,每出现一次iota,其所代表的数字会自动 ......
const go

go 数字类型注意点

package main func main() { // 数字类型 // uint8 0-255 // uint16 0-65535 // //.... // int8 -128-127 // int16 -32768-32767 // // .... // byte 类似于 uint8 // r ......
类型 数字 go

Go开发环境

https://golang.google.cn/dl/ | go1.21.4.windows-386.zip | Archive | Windows | x86 | 69MB | 870a0e462b94671dc2d6cac707e9e19f7524fdc3c90711e6cd4450c3713 ......
环境

go接口多态性

浅谈Golang接口:作用、应用场景及实际应用 马哥Linux运维 2023-12-04 18:42 发表于江苏 引言: Golang(Go)作为一门现代的静态类型编程语言,提供了许多强大的特性,其中之一便是接口(interface)。接口是Golang中的一个核心概念,它具有广泛的应用场景,可以帮 ......
多态性 接口

go network poller 一

网络基础 协议架构 tcp链接 假如需要开发者去实现一套新的网络协议(例如 redis 的resp), 是基于TCP的, 那tcp这层的协议,是否需要开发者自己去实现? 这层如果自己实现, 其实很复杂, 会涉及很多算法相关. 因此, 出现了 socket 对传输层进行了抽象, 开发者不需要关注传输层 ......
network poller go

Go 语言中,函数的参数传递--值传递

在 Go 语言中,函数的参数传递是值传递的方式。当函数被调用时,函数参数的值会被拷贝到函数的参数变量中。 对于指针类型的参数,指针本身也是以值的方式进行传递。这意味着函数内部的指针参数将获得原始指针的拷贝,但这个拷贝仍然指向相同的内存地址。 当在函数内部修改通过指针传递的变量时,由于指针本身是值传递 ......
函数 参数 语言 Go

go-carbon v2.2.14 发布,轻量级、语义化、对开发者友好的 Golang 时间处理库

carbon 是一个轻量级、语义化、对开发者友好的 golang 时间处理库,支持链式调用。 目前已被 awesome-go 收录,如果您觉得不错,请给个 star 吧 github.com/golang-module/carbon gitee.com/golang-module/carbon 安装 ......
轻量 轻量级 语义 开发者 go-carbon

go gc

垃圾回收 (Garbage Collecting)思路 1. "标记-清除〞 go的做法 2. "标记-整理〞 标记后删除, 删除后重新把内存空间整理 java 早期 3. "标记 - 复制〞 两块相似的内存, 直接把有用的拷贝到另外一块上去 java 现阶段 Go因为堆内存结构的独特优势,选择最简 ......
go gc

go 内存管理

协程栈 go 栈的位置 1. Go 协程栈位于 Go-堆内存上 2. Go 堆内存位于操作系统虚拟内存上 go 栈的工作流程 以main.main为出发点 要记录runtime.main的栈基地址 记录 a 和 b的局部变量值 开辟一个空间记录 sum函数的返回值 记录 b 和 a的值, 这里是为了 ......
内存 go

Go切片是值传递还是引用传递?

Go没有引用传递和引用类型!!! 很多人有个误区,认为涉及Go切片的参数是引用传递,或者经常听到Go切片是引用类型这种说法,今天我们就来说一下方面的问题。 什么是值传递? 将实参的值传递给形参,形参是实参的一份拷贝,实参和形参的内存地址不同。函数内对形参值内容的修改,是否会影响实参的值内容,取决于参 ......
还是

Go - check if an error contains a string

if err != nil { if strings.Contains(sql.ErrNoRows.Error(), err.Error()) { ctx.JSON(http.StatusNotFound, errorResponse(err)) return } ctx.JSON(http.Sta ......
contains string check error Go

GO富集分析图

1. GO富集分析 输入数据 输入文件需要有3列信息: ONTOLOGY:GO分类,BP/CC/MFTerm:GO名称Count:富集在每个Term上基因数目 ONTOLOGY ID Term GeneRatio BgRatio pvalue p.adjust qvalue geneID Count ......
分析图

go错误是否退出

func Demoquit(str *string) error { if str == nil { //log.Fatalf("is a not init object") //exit fmt.Println("is a not init object") // no exit //return ......
错误

2023-12-02:用go语言,如何求模立方根? x^3=a mod p, p是大于等于3的大质数, a是1到p-1范围的整数常数, x也是1到p-1范围的整数,求x。 p过大,x不能从1到p-1遍

2023-12-02:用go语言,如何求模立方根? x^3=a mod p, p是大于等于3的大质数, a是1到p-1范围的整数常数, x也是1到p-1范围的整数,求x。 p过大,x不能从1到p-1遍历。 答案2023-12-02: 灵捷3.5 大体步骤如下: 1.判断是否存在模立方根。有0,1,3 ......
整数 立方根 范围 质数 常数

关于 SAP Fiori Elements List Report Go 按钮的实现

代码位置: 这段代码是 JavaScript 中的一个方法 _regularTriggerSearch,它是 SmartFilterBar 对象的原型方法。这个方法的主要目的是在一定延迟后触发搜索操作。这段代码中涵盖了 JavaScript 中的一些主要特性和概念,包括对象、原型、方法、控制流(if ......
按钮 Elements Report Fiori List

Go使用asynq

asynq是基于reids的队列,支持多种形式 消费者 package main import ( "context" "fmt" "log" "os" "os/signal" "syscall" "time" "github.com/hibiken/asynq" ) // HandleMsg 处理 ......
asynq

Go plugin

创建plugin_1.go&编译 package main import "fmt" func Greet(name string) { fmt.Println("Hello", name) } go build -buildmode=plugin -o xxxx.so plugin_1.go 加载 ......
plugin Go

Go - var _

var _ HelloServiceInterface = (*HelloServiceClient)(nil),其中HelloServiceClient是一个结构体,另外一个自然是一个interface。代码的作者称这行代码要求后面的结构体必须实现前面的接口,不然会出现编译错误。 另外有类似的语句 ......
var Go

go三种超时退出方法

Golang实现 超时退出 有哪三种方式,你知道吗? 原创 磊丰 Go语言圈 2023-11-21 08:30 发表于美国 收录于合集#学Go语言哪些事儿241个 MySQL大牛 带你全面剖析与系统梳理数据库(mysql等)知识分享,总结数据库技巧和方法,提升你的技术技能。 45篇原创内容 公众号 ......
方法