going

go移动重名名文件夹

package utilsimport ( "os" "path/filepath" "reflect" "strings")//@author: [songzhibin97](https://github.com/songzhibin97)//@function: FileMove//@descr ......
文件夹 文件

go添加一个定时任务

package timerimport ( "sync" "github.com/robfig/cron/v3")type Timer interface { AddTaskByFunc(taskName string, spec string, task func(), option ...cro ......
任务

go语言中的“var”与“:=”的区别

首先两者都可以进行变量的声明,但是也有区别: := 只能在函数内部使用,也就是说只能用来声明局部变量, var 在函数内部或者外部都可以使用,因此通常使用var来声明全局变量 := 在声明指针变量时,会在分配内存空间,并赋值,var 声明指针变量时,不分配内存空间,零值为 nil。因此在声明之后,需 ......
语言 var

基于java和go-cqhttp实现QQ机器人

@TOC yh-qqrobot机器人简介 yh-qqrobot是一个基于若依框和go-cqhttp集成的系统,一开始我只是揣着好奇的心态接触了一下go-cqhttp,想玩下机器人,然后发现挺好玩的,就去找了一下java的实现代码,却发现基本都是python的,而且使用java实现的功能也不是特别完善 ......
机器人 go-cqhttp 机器 cqhttp java

Go源码阅读——github.com/medcl/esm —— file.go

esm(An Elasticsearch Migration Tool)—— file.go https://github.com/medcl/esm release: 8.7.1 通过阅读好的源代码,细致思考,理性分析并借鉴优秀实践经验,提高 zuoyang 的编程水平,所谓 "他山之石,可以攻玉 ......
源码 github medcl file com

python与go的对接

python与go的对接 在项目中遇到的问题,go写的程序需要被python调用,要将项目打包成.so文件 首先要确保go build能编译出可执行文件,再打包成.so文件,因为原理与go build是一样的 编译 用测试项目来记录解决过程 测试环境:windows64 源码目录结构: test | ......
python

Go源码阅读——github.com/medcl/esm —— esapi.go

esm(An Elasticsearch Migration Tool)—— esapi.go https://github.com/medcl/esm release: 8.7.1 通过阅读好的源代码,细致思考,理性分析并借鉴优秀实践经验,提高 zuoyang 的编程水平,所谓 "他山之石,可以攻 ......
源码 github esapi medcl com

websocket.go

package main import ( "encoding/json" "fmt" "net/http" "github.com/gorilla/websocket" ) var UP = websocket.Upgrader{ ReadBufferSize: 1024, WriteBuffer ......
websocket go

Go源码阅读——github.com/medcl/esm —— bulk.go

esm(An Elasticsearch Migration Tool)—— bulk.go https://github.com/medcl/esm release: 8.7.1 通过阅读好的源代码,细致思考,理性分析并借鉴优秀实践经验,提高 zuoyang 的编程水平,所谓 "他山之石,可以攻玉 ......
源码 github medcl bulk com

mac版本GoLand2023 永久激活码:用于开发 Go,MacBook程序员必备

GoLand 2023 for Mac 是一款功能强大的集成开发环境(IDE),特别为 Go 语言开发者设计。它提供了广泛的功能和工具,以帮助开发者更快、更高效地编写高质量的 Go 代码。 mac软件下载:https://mac.macsc.com/mac/4119.html?id=MzI1OTY2 ......
程序员 激活 MacBook 版本 程序

Go源码阅读——github.com/medcl/esm —— buffer.go

esm(An Elasticsearch Migration Tool)—— buffer.go https://github.com/medcl/esm release: 8.7.1 通过阅读好的源代码,细致思考,理性分析并借鉴优秀实践经验,提高 zuoyang 的编程水平,所谓 "他山之石,可以 ......
源码 github buffer medcl com

Go源码阅读——github.com/medcl/esm —— domain.go

esm(An Elasticsearch Migration Tool)—— domain.go https://github.com/medcl/esm release: 8.7.1 通过阅读好的源代码,细致思考,理性分析并借鉴优秀实践经验,提高 zuoyang 的编程水平,所谓 "他山之石,可以 ......
源码 github domain medcl com

Go函数基础

在Go语言中,函数是一种基本的代码组织方式。函数能够接受输入参数并返回结果。Go语言中的函数有以下特点: 函数定义使用关键字func,后跟函数名、参数列表和返回值类型。 如果函数有返回值,则在函数定义中必须指定返回值的类型。 如果函数有多个返回值,则它们用逗号分隔。 Go语言中的函数可以有任意数量的 ......
函数 基础

go面试 (一)

面试 http的三次握手四次挥手 HTTP的三次握手 三次握手(Three-way Handshake)其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的可靠性传送做准备。实质上其实就是 ......

Go语言的type func()用法

golang通过type定义函数类型 在 Go 语言中,type 可以定义任何自定义的类型 比如熟悉的:type dog struct{},type myInt int 等等 所以 func 也是可以作为类型自定义的,type myFunc func(int) int,意思是自定义了一个叫 myFu ......
语言 type func

Go语言(Golang)编写最简单的命令行工具

最简单的命令行工具 项目预览 >echo abc 123 --name=nick abc 123 --name=nick 课程概述 如何制作命令行应用 如何使用 os.Args 获得命令行参数 前提条件 懂得 Go 语言基本语法 知识点 OS 包提供了用于处理操作系统相关内容的函数/值 独立于平台的 ......
命令 语言 工具 Golang

Go Web 基础--原理总结

Web的工作方式 对于普通的上网过程: 浏览器本身是一个客户端,当你输入URL的时候,首先浏 览器会去请求DNS服务器,通过DNS获取相应的域名对应的IP,然后通过IP地址找到IP对应的服务器 后,要求建立TCP连接,等浏览器发送完HTTP Request(请求)包后,服务器接收到请求包之后才开 始 ......
原理 基础 Web Go

go学习

1. Go 语言采用是否大小写首字母来区分符号是否可以被导出。 2. var d = [...]int{1, 2, 4: 5, 6} // 定义长度为 6 的 int 型数组, 元素为 1, 2, 0, 0, 5, 6 这种初始化很少用吧 3. 用 for range 方式迭代的性能可能会更好一些, ......

go基础

第一段代码 package main //声明文件所在的包,每个go文件必须有归属的包 import "fmpt" //引入程序需要用的包,为了使用包下的函数,比如println func main(){ fmt.Println("Hello golang!") //控制台打印输出一句话,双引号内会 ......
基础

go-struct指针与值传递

示例如下 1 type compare0 struct { 2 version1 string 3 version2 string 4 } 5 func (c compare0) setV1(str string) string { 6 c.version1 = str 7 return c.ver ......
指针 go-struct struct go

用go设计开发一个自己的轻量级登录库/框架吧

用go设计开发一个自己的轻量级登录库/框架吧 几乎每个项目都会有登录,退出等用户功能,而登录又不单仅仅是登录,我们要考虑很多东西。 token该怎么生成?生成什么样的? 是在Cookie存token还是请求头存token?读取的时候怎么读取? 允许同一个账号被多次登录吗?多次登录他们的token是一 ......
轻量 轻量级 设计开发 框架

RocketMQ开启ACL认证Go连接测试

RocketMQ开启ACL认证连接测试 导入包 go get -u github.com/apache/rocketmq-client-go/v2 go get -u github.com/spf13/pflag 查看go.mod module your_module_name go 1.16 re ......
RocketMQ ACL

Go笔记(十五):并发编程

一、协程的创建 Go 语言支持并发,只需要通过 go 关键字来开启 goroutine(协程) 即可。 goroutine(协程) 是轻量级线程,goroutine(协程) 的调度是由 Golang 运行时进行管理的。 goroutine 语法格式(创建协程): go 函数名( 参数列表 ) 示例代 ......
笔记

Go笔记(十四):通道 channel

1、通道 通道channel是Go提供的一种用于各个协程(goroutine)之间的数据共享,保证数据同步交换的机制。协程是轻量级线程,类似于Java中的线程。 2、通道的类型 2.1、无缓冲通道 用于同步通信,可保证在发送和接收数据时完成两个goroutine(协程)的数据交换。 2.2、缓冲通道 ......
通道 channel 笔记

go测试库之apitest

前言 使用go语言做开发差不多快一年了,主要用来写后端Web服务,从一开始吐槽他的结构体,比如创建个复杂的JSON格式数据,那是相当的痛苦。还有 err 处理写的巨麻烦。 当然,go 也有爽的地方,创建个线协程简直太简单了。 到后来慢慢接受,觉得效率还行,因为是静态强类型语言,在修改完项目代码之后, ......
apitest

go 快速入门

1. 下载并安装 gin: $ go get -u github.com/gin-gonic/gin 使用 Go modules 工具管理项目 初始化 go mod $ go mod init learninggo package main import "github.com/gin-gonic/ ......
go

云原生时代崛起的编程语言Go常用标准库实战

通过前两篇文章对Go编程的理解,本篇从重点实战使用角度介绍Go常见基础标准库的使用,较大部分业务场景直接使用标准库提供的丰富功能就可实现快速开发,结合精简代码示例演示了字符串、IO、编码、网络、数据库、单元测试等十几个标准包的使用。 ......
编程语言 实战 常用 语言 标准

Go笔记(十三):包管理工具

包管理工具,用来管理模块中包的依赖关系。下面来看看go mod的使用方法。 1.1、初始化模块 go mod init 项目模块名 1.2、依赖关系处理,根据go.mod文件 go mod tidy 1.3、将依赖复制到项目下的vendor目录 go mod vendor 如果包被屏蔽(墙),随后使 ......
笔记 工具

Go笔记(十二):接口

1、接口的声明 Go语言中的接口是一种新的类型定义,拥有将具有共性的方法定义在一起的特性。任何其他类型只要实现了这些方法就是实现了这个接口。 语法详情如下: /* 定义接口 */ type interface_name interface { method_name1 [return_type] m ......
接口 笔记

Go笔记(十一):方法

Go语言没有Java语言面向对象的特性,也无类对象的概念。但可以使用结构体实现这些特性。 1、方法的声明 Go中的方法是一种特殊的函数,与struct相关联,被称为struct的接收者。可以理解为方法就是有接收者的函数。语法格式如下: type mystruct struct{} func (rec ......
笔记 方法