module go

[效率大杀器] go工具篇:dlv + goland 实现远程调试

dlv + Goland 远程调试 远程调试就是使用使用本地 IDE 来调试远程服务器上的服务。本地打断点,调用远程服务的接口。本地就会停在断点。 相当于 debug 远程服务。优点是可以保持环境的一致性。 dlv 的安装 git 仓库:https://github.com/derekparker/ ......
效率 工具 goland dlv

[3分钟]GO:项目结构及目录

四、项目结构 我们来谈谈如何将包组合到项目中。 通常一个项目是一个 git 仓库,但在未来 Go 语言开发人员会交替地使用 module 和 project。 就像包一样,每个项目都应该有一个明确的目的。 如果你的项目是一个库,它应该只提供一件事,比如 XML 解析或log记录。 您应该避免将多种目 ......
结构 目录 项目

[3分钟]GO:创建好的包名

三、什么是好的包名 Write shy code - modules that don’t reveal anything unnecessary to other modules and that don’t rely on other modules' implementations. 编写谨慎 ......

[3分钟] GO:如何设计友好的标识符

二、如何编写优秀的注释 Good code has lots of comments, bad code requires lots of comments. (好的代码有很多注释,坏代码需要很多注释。) — Dave Thomas and Andrew Hunt (The Pragmatic Pr ......
标识符 标识

[3分钟] GO:耐看的注释都是如何被创造出来的

一、如何设计友好的标识符 标识符是一个用来表示名称的花哨单词; 变量的名称,函数的名称,方法的名称,类型的名称,包的名称等。 可读性是代码评审的标准之一。好的代码需要简单易读、通俗易懂。标识符是具体数据在代码中的抽象代表,友好的标识符会大大提高读代码的效率。反之,杂乱的标识符会混淆视听,打乱代码的逻 ......
注释

go-zero 开发入门-加法客服端示例

定义 RPC 接口文件 接口文件 add.proto 的内容如下: syntax = "proto3"; package add; option go_package = "./add"; message AddReq { int32 a = 1; int32 b = 2; } message Ad ......
加法 示例 go-zero zero go

vscode-go语言插件,调试器协议分析(二)

版本信息 Server: { "Commands": [ "gopls.add_dependency", "gopls.add_import", "gopls.add_telemetry_counters", "gopls.apply_fix", "gopls.change_signature", ......
调试器 vscode-go 插件 语言 vscode

vscode-go语言插件,调试器协议分析

c 客户端, vscode s 服务端, 调试器 c--> 客户端,请求调试器初始化 { "command": "initialize", "arguments": { "clientID": "vscode", "clientName": "Visual Studio Code", "adapte ......
调试器 vscode-go 插件 语言 vscode

Go--字符串函数

示例: package main import ( "fmt" "strings" ) func main() { //strings.Contains(): 判断一个字符串是否包含另一个子字符串 str := "Hello, World!" substr := "World" if strings ......
字符串 函数 字符 Go

go语言多箱环境配置

Go语言多箱环境配置 原创 低配全栈 低配全栈 2023-12-07 00:02 发表于浙江 收录于合集#golang开发14个 前言 在日常的开发过程中, 我们必然要使用多套环境来运行我们的代码, 比如dev, test, uat, prod等, 每个环境在软件开发周期的不同阶段承载着不同责任. ......
语言 环境

ModuleNotFoundError: No module named '_pytest.resultlog'

新环境运行Python时报错 ModuleNotFoundError: No module named '_pytest.resultlog' 上网查,看到解决方法 https://www.cnblogs.com/QiKa/p/14457269.html 解决办法:①升级pytest-rerunfa ......

go-zero 之安装 etcd

本文只涉及 Linux 上的安装。 二进制安装 下载二进制安装包 ETCD_VER=v3.4.28 DOWNLOAD_URL=https://github.com/etcd-io/etcd/releases/download INSTALL_DIR=/tmp rm -f ${INSTALL_DIR} ......
go-zero etcd zero go

go-zero 开发之安装 goctl 及 go-zero 开发依赖

安装 goctl go 版本在 1.16 及以后执行: GO111MODULE=on&&go install github.com/zeromicro/go-zero/tools/goctl@latest go 版本在 1.16 之前执行: GO111MODULE=on&&go get -u git ......
go-zero zero goctl go

交叉编译提示ModuleNotFoundError: No module named 'packaging'

如果你的目标环境中的python是通过交叉编译自行生成的,可能会遇到这个提示 在你已经完成python的交叉编译后,你就需要crossenv,然后完成对应库的适配 #Make crossenv pip install crossenv python3 -m crossenv --without-pi ......

go的defer的坑

【Golang】defer的这些坑,你遇到过吗? 马哥Linux运维 2023-11-30 20:17 发表于江苏 前言 之前的文章中分享了关于defer的一些用法和实现原理,但是在实际使用过程中,总会踩不少坑(在上一篇最后的总结中也有一些关于特性的总结),这篇文章中将结合代码的方式展现,希望能帮到 ......
defer

2023-12-06:用go语言,给你一个由 n 个数对组成的数对数组 pairs, 其中 pairs[i] = [lefti, righti] 且 lefti < righti 。 现在,我们定义一

2023-12-06:用go语言,给你一个由 n 个数对组成的数对数组 pairs, 其中 pairs[i] = [lefti, righti] 且 lefti < righti 。 现在,我们定义一种 跟随 关系,当且仅当 b < c 时, 数对 p2 = [c, d] 才可以跟在 p1 = [a ......
righti pairs lefti 数组 个数

go的编译器安装

中文网:https://studygolang.com/dl 点击下载 next-next后安装路径:D:\Go\ next-next-install go build 生成可执行文件.exe ./可执行文件.exe 执行 ......
编译器

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 ......

delphi 提示 Access violation at address 014CA924 in module 'EBD.exe'. Read of address 0D1A0000排查

通过类似 Access violation at address 014CA924 in module 'EBD.exe'. Read of address 0D1A0000 提示查看代码出错的行。 1、开启map project -> options -> Linker -> Map file 选 ......
address violation 0D1A0000 delphi Access

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