switch go

go-zero开发入门-API网关鉴权开发示例

本文是go-zero开发入门-API网关开发示例一文的延伸,继续之前请先阅读此文。 在项目根目录下创建子目录 middleware,在此目录下创建文件 auth.go,内容如下: // 鉴权中间件 package middleware import ( "context" "errors" "net ......
网关 示例 go-zero zero API

Go的Set实现

Go的Set实现 由于Go的内置集合中没有Set的实现,可以用map[type]struct{} 要求: 1、元素的唯一性 2、基本操作:添加、删除、判断是否存在、统计元素数量 3、可遍历集合 //声明Set type Set struct { //利用map,实现的Set集合 mapSet map ......
Set

go热加载

Skip to content cosmtrek/ air Code Issues84 Pull requests27 Discussions Actions Projects Security Insights master Breadcrumbs air / README-zh_cn.md t ......

Go-web应用部署的方式——(3)Nginx

摘要:本系列文章记录了几种Go-web应用的部署方式,记录并解释所有相关的命令。 参考:部署Go语言项目的 N 种方法 | 李文周的博客 (liwenzhou.com) 抛开宝塔面板一键部署的方式,这里记录下手动使用Nginx部署应用的过程,以及前后端是否分离的区别 1. 安装Nginx sudo ......
方式 Go-web Nginx web Go

Go-web应用部署的方式——(2)nohup、supervisor后台运行

摘要:本系列文章记录了几种Go-web应用的部署方式,记录并解释所有相关的命令。 参考:部署Go语言项目的 N 种方法 | 李文周的博客 (liwenzhou.com) 1. nohup nohup 用于在系统后台不挂断地运行命令,不挂断指的是退出执行命令的终端也不会影响程序的运行。 主流的 Lin ......
supervisor 后台 方式 Go-web nohup

Go-web应用部署的方式——(1)Docker

摘要:本系列文章记录了几种Go-web应用的部署方式,记录并解释所有相关的命令。 参考:如何使用Docker部署Go Web应用 | 李文周的博客 (liwenzhou.com) 1. 编写Dockerfile文件 # 使用基础镜像FROM golang:alpine # 设置环境变量 ENV GO ......
方式 Go-web Docker web Go

2023-12-09:用go语言,给你两个整数数组 arr1 和 arr2, 返回使 arr1 严格递增所需要的最小「操作」数(可能为 0)。 每一步「操作」中,你可以分别从 arr1 和 arr2

2023-12-09:用go语言,给你两个整数数组 arr1 和 arr2, 返回使 arr1 严格递增所需要的最小「操作」数(可能为 0)。 每一步「操作」中,你可以分别从 arr1 和 arr2 中各选出一个索引, 分别为 i 和 j,0 <= i < arr1.length 和 0 <= j ......
arr arr1 整数 数组 arr2

Go melody库基本使用

就参考如下: 基本就是初始化, 定义钩子, 跟gin绑定 var m *melody.Melody // 单例初始化 melody func initUsbMelody() { if m != nil { return } m = melody.New() cfg := &melody.Config ......
melody Go

CentOS 7.6 安装 Go 1.20.12 环境教程+更换国内源

安装 因为需要安装httpx,官方github要求使用1.20版本的Go环境,就没有安装最新的1.21。 先去官网查看:https://go.dev/dl/ 如上图,我们选择Linux amd64的(使用命令下就行,如若不能正常下载,就直接下完传上服务器也一样) wget https://go.de ......
环境 教程 CentOS 7.6 20

2023最新高级难度Go语言面试题,包含答案。刷题必备!记录一下。

好记性不如烂笔头 内容来自 面试宝典-高级难度Go语言面试题合集 问: 请深入解释Go语言的内存分配和GC(垃圾回收)机制,以及它们如何影响程序的性能。 Go语言的内存管理由内置的垃圾回收器自动进行,它将内存分为三个区域:堆、栈和全局区。栈存放局部变量、参数、返回地址等小对象,堆存放较大的对象,全局 ......
难度 答案 语言 2023

2023最新中级难度Go语言面试题,包含答案。刷题必备!记录一下。

好记性不如烂笔头 内容来自 面试宝典-中级难度Go语言面试题合集 问: 请描述一下Go语言的并发模型,并解释一下为什么它适合现代Web应用? Go语言的并发模型是基于CSP(Communicating Sequential Processes,通信顺序进程)理论,主要是通过goroutine和cha ......
难度 答案 语言 2023

Go 模板:用代码生成代码

用代码生成代码。 不用 Go 写代码,就不知道 Java 程序员被“惯”得有多厉害。 Java 奉行“拿来主义”,什么东西都有现成的库。而 Go 就没有那么丰富的库了。 本文用生成器模式作为例子,来演示如何用代码生成代码。 生成器模式 熟悉 Java 开发的同学都知道,lombok 有一个著名的注解 ......
代码 代码生成 模板 Go

vscode-go语言插件,分析(三)

goDebugConfiguration.ts 配置 GoDebugConfigurationProvider 实现vscode.DebugConfigurationProvider接口 goDebugFactory.ts 调试工厂 GoDebugAdapterDescriptorFactory 描 ......
vscode-go 插件 语言 vscode go

Go性能分析工具pprof详解

https://blog.csdn.net/sinat_24985411/article/details/128816228?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170202940516800213028596%2522%2 ......
性能分析 性能 工具 pprof

JetBrains GoLand 2023.3 (macOS, Linux, Windows) - Go Full Stack

JetBrains GoLand 2023.3 (macOS, Linux, Windows) - Go Full Stack 请访问原文链接:https://sysin.org/blog/jb-goland-2023/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org JetB ......
JetBrains Windows GoLand 2023.3 macOS

学C笔记归纳 第八篇——分支循环语句2_switch

#include <stdio.h> int main() { int x = 0; /*scanf("%d", &x);*/ scanf("%d", &x); switch (x) { case 1: printf("执行1\n"); case 2: printf("执行2\n"); case 3 ......
分支 语句 笔记 switch

go中使用闭包

Go语言中的闭包:封装数据与功能的强大工具 原创 TimLiu 爱发白日梦的后端 2023-11-01 15:35 发表于广东 收录于合集#go112个 爱发白日梦的后端 专注 Go 语言领域的发展,学习成为更牛逼的架构师,日常分享 Go 语言、架构、软件工具的使用。 149篇原创内容 公众号 闭包 ......
闭包

go-zero 开发入门-API服务开发示例

接口定义 定义 API 接口文件 接口文件 add.api 的内容如下: syntax = "v1" info ( title: "API 接口文件示例" desc: "演示如何编写 API 接口文件" author: "一见" date: "2023年12月07日" version: "v1" ) ......
示例 go-zero zero API go

go-zero开发入门之API网关开发

开发一个 API 网关,代理 https://www.cnblogs.com/aquester/p/17882070.html 中的 RPC 服务。 网关完整源代码 // file: main.go package main import ( "flag" "fmt" "github.com/zer ......
网关 go-zero zero API go

Day22 Switch多选择结构

Switch多选择结构 多选择的除了if结构外 的另一个实现方式:Switch case语句(判断一个变量与一系列值中某个值是否相等,每个值称为一个分支) Switch语句中的变量可以是:byte, short, int 或者 char ​ 从Java SE7开始 Switch开始 支持字符串Str ......
结构 Switch Day 22

cgo:go数组转c数组调用c函数

package main /* #include <stdio.h> void processInt2DArray(int* arr, int rows, int cols) { for (int i = 0; i < rows; i++) { for (int j = 0; j < cols; j ......
数组 函数 cgo

go-zero 的 etcd 配置

实现代码在 core/discov/config.go 文件中: type EtcdConf struct { Hosts []string Key string ID int64 `json:",optional"` User string `json:",optional"` Pass stri ......
go-zero etcd zero go

“go mod tidy”之错误“not a valid zip file”

执行 go mod tidy 时,遇到如下错误: rpc imports github.com/zeromicro/go-zero/zrpc imports github.com/zeromicro/go-zero/zrpc/resolver imports github.com/zeromicro ......
错误 valid file tidy mod

Go 的 go.mod文件

首先每个项目都有个家就是根目录,项目所有的包啊文件都在根目录下面,goland使用go.mod方式构建项目时,帮我们创建了一个go.mod配置文件。 为什么要有个配置文件,因为我们开发的时候需要调用一些外部包,就比如Go提供的log日志包, 这个包写的比较简单,不足以满足我日常开发需要的功能,所以我 ......
文件 mod Go go

Go中for range的时候,地址是否发生变化

1,回答问题之前,先看下面这段代码 package main import "fmt" type girl struct { Name string Age int } func main() { gl := make(map[string]*girl) studs := []girl{ {Name ......
时候 地址 range for

go defer修改返回值

golang在defer修改返回值时需要格外注意! 如果未提前声明返回值的话,在defer中修改返回值是无效的操作。原因如下: package main func test1() int { i := 1 defer func() { // 实际则是将局部变量i的地址指针传入,调用runtime.d ......
defer go

[3分钟]GO:不要错误的使用并发

七、并发 由于 Go 语言的并发功能,经常被选作项目编程语言。 Go 语言团队已经竭尽全力以廉价(在硬件资源方面)和高性能来实现并发,但是 Go 语言的并发功能也可以被用来编写性能不高同时也不太可靠的代码。 这里有一个二分法; Go 语言的最大特点是简单、轻量级的并发模型。作为一种产品,我们的语言几 ......
错误

[3分钟]GO:关于代码中的错误处理

六、错误处理 我已经给出了几个关于错误处理的 演示文稿 ,并在我的博客上写了很多关于错误处理的文章。我在昨天的会议上也讲了很多关于错误处理的内容,所以在这里不再赘述。 https://dave.cheney.net/2014/12/24/inspecting-errors https://dave. ......
错误 代码

[3分钟]GO:如何设计健壮、简洁、易用的API接口

五、API设计 我今天要给出的最后一条建议是设计, 这也是我认为最重要的。 到目前为止我提出的所有建议都是建议。 这些是我尝试编写 Go 语言的方式,但我不打算在代码审查中拼命推广。 但是,在审查 API 时, 我就不会那么宽容了。 这是因为到目前为止我所谈论的所有内容都是可以修复而且不会破坏向后兼 ......
接口 API

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

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