go
  • 2024-11-21Go的依赖管理
    Go依赖管理Go的依赖管理经历了3个阶段,由于历史原因,目前普遍使用的是Gomod做依赖管理但是了解过去的依赖管理的优缺点,便于我们理解Gomod的设计第一阶段:  Go Path阶段:使用简单,但是由于GoPath的依赖管理只是根据路径来做区分,无法做多版本管理  因此多个项目如果依赖
  • 2024-11-20go实现QR订阅的几种方法
    1.基于HTTP协议1.1返回图片地址通过qrcode生成二维码图片到static目录下,然后返回二维码图片的地址,返回的地址可以使用base64加密也可以直接返回。controller层funcQrSignHandler(c*gin.Context){ qr_url,err:=logic.Generate_Qr() iferr!=nil{ c.JSON(10005,e
  • 2024-11-20Go - Get current directory of a source file
     packagemainimport("fmt""os")funcmain(){fmt.Println(os.Executable())fmt.Println(os.Getwd())} zzh@ZZHPC:~/zd/Github/ztest$gorunmain.go/tmp/go-build2963213184/b001/exe/main<nil>/home/zzh/zd
  • 2024-11-19go 集成Zap Logger日志
    为什么选择Uber-gozap它同时提供了结构化日志记录和printf风格的日志记录它非常的快根据Uber-goZap的文档,它的性能比类似的结构化日志包更好——也比标准库更快。以下是Zap发布的基准测试信息记录一条消息和10个字段: 记录一个静态字符串,没有任何上下文或printf风格的
  • 2024-11-19C#单线程环境下实现每秒百万级调度
    C#并发控制框架:单线程环境下实现每秒百万级调度 阅读目录前言并发流程控制框架框架优势框架示例框架地址总结最后前言在工业自动化和机器视觉领域,对实时性、可靠性和效率的要求越来越高。为了满足这些需求,我们开发了一款专为工业自动化运动控制和机器视觉流程开发
  • 2024-11-19Headscale + 自建DERP中继免域名配置(Debian)
    配置Headscale官方教程:https://headscale.net/setup/install/official/下载deb包并安装编辑配置文件首先下载官方最新的配置文件模板:https://headscale.net/ref/configuration/然后进行编辑:server_url:将ip更改为服务器的公网iplisten_addr:0.0.0.0:8080grpc_list
  • 2024-11-19nano框架源码笔记
    nano是开源游戏服务器框架,TODO介绍。从examples/demo/chat/main.go开始看起。group.goGrouprepresentsasessiongroupwhichusedtomanageanumberofsessions,datasendtothegroupwillsendtoallsessioninit.包含四个字段:mu互斥量,status表示当前chennel
  • 2024-11-19golang 压缩编译
    编译Go应用程序gobuild-ldflags="-s-w"-omyapp.exe.使用UPX压缩可执行文件(window下载并设置环境变量)upx--best--lzmamyapp.exe 可从10M压缩到1M @echooffREMSetGoenvironmentvariablessetCGO_ENABLED=0setGOOS=linuxsetGOARCH=armsetG
  • 2024-11-19taskcafe–轻松管理任务的开源看板项目管理工具
    推荐一款采用看板进行任务管理的项目管理工具:taskcafe。GitHub上的taskcafe已经收获了4.2kStar,是一个正在持续开发的优秀开源项目管理工具。无论你是个人用户还是团队协作,都可以利用taskcafe提供的强大功能,通过看板视图轻松管理任务。功能亮点1、看板界面管理
  • 2024-11-19【问chatgpt】一段 golang 代码中,把一个字符串池的类名写成了 arena, 这有什么典故吗?
    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!cnblogs博客zhihuGithub公众号:一本正经的瞎扯在Go编程中,将一个字符串池类名命名为arena是有一定背景和意义的。这个命名通常源于以下几个方面的典故或技术理念:“Arena”的字面意义“Arena”在英文中是“
  • 2024-11-18Let'sGoFurther - Chapter 11: Graceful Shutdown
     zzh@ZZHPC:/zdata/Github/greenlight$gorun./cmd/apitime=2024-11-18T19:49:43.864+08:00level=INFOmsg="databaseconnectionpoolestablished"time=2024-11-18T19:49:43.864+08:00level=INFOmsg="startingserver"addr=:4000env=devel
  • 2024-11-182024年11月17日 星期天 Go语言基础
    今日格言坚持每天进步一点点~一个人也可以是一个团队~学习全栈开发,做自己喜欢的产品~~Go语言的创始人Go语言的创始人有三位,分别是:RobertGriesemer:他参与开发了JavaHotSpot虚拟机。RobPike:他是Go语言项目的总负责人,曾是贝尔实验室Unix团队的成员,参与过Plan9、Inf
  • 2024-11-18服务器部署篇 | 安装软件和其他依赖
    记录,仅供参考mysqlgogitee代码仓库绑定npm配置背景说明:centos7需要部署go语言编写的系统。mysql参考资料:这里注意:教程写得很好,可以完全按照其步骤进行,本人用的是第二种安装方式。go参考资料:这里注意:如果只能在本地无法翻墙下载安装包的话,可以自己电脑下载好
  • 2024-11-18vscode go语言注释语句黄色波浪线
    go语言注释代码总是飘着黄色波浪线提示:(withoptionalleadingarticle)(ST1021)go-staticcheck,非常影响观感。经过查询发现,go-staticcheck是一个用于Go代码静态分析的工具,用来检测代码中的潜在问题、代码规范以及常见的错误。本次错误信息来自go-staticcheck中的规则ST10
  • 2024-11-18使用 Go 语言进行多时区时间转换
    使用Go语言进行多时区时间转换在日常开发中,我们经常会遇到跨境电商、国际会议调度等全球化应用的需求,这时处理多时区的时间就是一个普遍问题。例如,你可能需要将某个事件的北京时间转换为洛杉矶时间、纽约时间和伦敦时间等。本文将详细介绍如何使用Go语言优雅地完成这一任务。
  • 2024-11-18Go语言跨平台桌面应用开发新纪元:LCL、CEF与Webview全解析
    开篇寄语在Go语言的广阔生态中,桌面应用开发一直是一个备受关注的领域。今天,我将为大家介绍三款基于Go语言的跨平台桌面应用开发框架——LCL、CEF与Webview,它们分别拥有独特的魅力和广泛的应用场景。通过这三款框架,你将能够轻松开发出功能强大、界面美观的跨平台桌面应用程序。
  • 2024-11-17emacs使用lsp-copilot作为lsp-client添加新语言的lsp配置
    配置文件可以参考helix的lsp配置文件helix/languages.tomlatmaster·helix-editor/helix例如添加go的lsp配置使用M-xlsp-copilot-open-config-file打开配置文件[language-server.gopls]command="gopls"[language-server.gopls.config.hints]assignVariableTypes=t
  • 2024-11-16gofiber: 使用模板
    一,安装模板库$gogetgithub.com/gofiber/template/html/v2go:downloadinggithub.com/gofiber/template/html/v2v2.1.2go:downloadinggithub.com/gofiber/utilsv1.1.0go:addedgithub.com/gofiber/template/html/v2v2.1.2go:addedgithub.com/gofiber/utilsv1.1.0
  • 2024-11-16Go语言24小时极速学习教程(一)基础语法
    Go语言(也称为Golang)是一种由Google开发的编程语言,以其简洁、高效和并发支持而闻名。从本文开始,将带你快速完成Go语言的学习,如果你之前有过Java或者C语言的基础,学习它将很容易,本教程忽略环境搭建步骤,直奔主题。1.程序结构包声明:每个Go程序都从package声明开始,通常是packag
  • 2024-11-16go fiber:发生内部错误时统一返回json格式
    一,文档地址:https://learnku.com/docs/gofiber/2.x/error-handling/11732二,当出错时,使进程不退出1,现象go代码:func(dc*UserController)GetUser(c*fiber.Ctx)error{ varzint=0 variint=100/z fmt.Println("i:%i",i) //处理获取用户的逻辑 returnc.Sen
  • 2024-11-16go fiber:使用独立的routes文件组织controller
    一,go代码:controller/articleController.gopackagecontrollerimport"github.com/gofiber/fiber/v2"typeArticleControllerstruct{}funcNewArticleController()*ArticleController{ return&ArticleController{}}func(dc*ArticleController)
  • 2024-11-16go mod: 配置代理
    一,安装第三方库时报错:没添加代理时,会报错超时错误#goget-ugithub.com/gofiber/fiber/v2go:modulegithub.com/gofiber/fiber/v2:Get"https://proxy.golang.org/github.com/gofiber/fiber/v2/@v/list":dialtcp142.250.217.81:443:i/otimeout 二,解决:编辑/e
  • 2024-11-16go fiber:全局中间件添加排除的path
    一,代码:全局中间件对所有的api生效,如果有个别不想应用全局中间件的api,则需要从代码中进行排除:例如:支付宝或微信的回调接口packagemiddlewareimport( "fmt" "github.com/gofiber/fiber/v2""regexp")funcApiSign(c*fiber.Ctx)error{//得到当前url
  • 2024-11-16go fiber: 把异常信息写到错误日志中
    一,代码:1,userBusiness.gopackagebusinessimport("fmt")//得到多个用户,按分页返回funcGetUserList(pageint,pageSizeint)(string,error){b:=0a:=100/bfmt.Println(a)return"1,2,3",nil}代码中包含有除0错,会引发panic2,userControlle
  • 2024-11-16go fiber: 增加访问日志accesslog
    一,代码这里我们使用官方提供的github.com/gofiber/fiber/v2/middleware/logger这个现成的中间件官方文档地址:https://docs.gofiber.io/api/middleware/logger/routes.gopackageroutesimport( "github.com/gofiber/fiber/v2" "github.com/gofiber/fiber/v2/middleware/