golang

golang go.mod

go mod 指定并加载版本号4.1. 方法一 go mod指定替换版本在项目的go.mod中用replace指定包版本号,比如: replace google.golang.org/grpc => google.golang.org/grpc v1.26.04.2. 方法二 go mod指定大小版 ......
golang mod go

golang中的fs.ReadDir

平时习惯了./和../作为访问目录的路径,但今天使用golang中fs.ReadDir这个函数的时候发现这个习惯是不正确的。 但是常用的命令并没有分很清楚.和./ 在这几个命令中使用.或./都可以到达目录下 ls cd 错误示范 package main import ( "fmt" "io/fs" ......
ReadDir golang fs

golang简单判断22-65535开发情况

package main import ( "fmt" "net" "sync" "time" ) func main() { server := "42.51.129.175" // 要检查的服务器地址 ports := make([]int, 65535) // 要检查的端口范围,从22到655 ......
情况 golang 65535 22

【go】Go (Golang) 语言-Golang 定时器Timer和Ticker、time.AfterFunc、time.NewTicker()实例

Golang 定时器Timer和Ticker Golang 定时器包括:一次性定时器(Timer)和周期性定时器(Ticker)。 编程中经常会通过timer和ticker、AfterFunc定时器NewTicker是设定每隔多长时间触发的,是连续触发,而计时器NewTimer是等待多长时间触发的, ......
Golang 定时器 time AfterFunc NewTicker

在golang中如何实现 WebSocket 的双向通信

在golang中如何实现 WebSocket 的双向通信 ? 原创 磊丰 Go语言圈 2023-12-21 08:30 发表于广东 听全文 Go语言圈 Go语言开发者的学习好助手,分享Go语言知识,技术技巧,学习与交流Go语言开发经验,互动才有助于技术的提升,每天5分钟,助你GO语言技术快乐成长 1 ......
双向 WebSocket golang

使用 golang 开发 PHP 扩展

使用 golang 开发 PHP 扩展 环境 golang go1.19.9 darwin/arm64 Macos/Linux PHP8.1.11 编译安装 实战 PHP脚手架生成 进入PHP源码,使用命令 php ext/ext_skel.php --ext go2php 会在ext目录下生成go ......
golang PHP

golang封装命令做pipe管道

package main import ( "fmt" "io" "os/exec" ) func main() { fmt.Println("vim-go") // pipeReader, pipeWriter := io.Pipe() binPath := "../03-ncpk-nvm/nvm ......
管道 命令 golang pipe

Golang 配置文件动态更变(viper)

一.下载包 go get github.com/spf13/viper 二.源码 1 func LoadConf(fpname string) { 2 ini := viper.New() 3 ini.SetConfigFile(fpname) 4 5 ini.SetDefault("databas ......
文件 动态 Golang viper

Golang的闭包和匿名函数

Golang语言支持匿名函数,这些匿名函数也被称为闭包。匿名函数是一种特殊类型的函数,它没有名称,而闭包可以看作是一种特殊类型的匿名函数,尽管在实践中有微小的区别。 Golang 中的匿名函数匿名函数也可以称为字面函数、lambda 函数或闭包。闭包的概念源于 lambda 计算中表达式的数学评估。 ......
闭包 函数 Golang

golang 多协程赋值 error 问题

近期遇到一个问题 golang 在多协程情况下,对一个 error 进行赋值,本意是无论多少个协程,只要有个一个 error,那么就认为是 error 错误. 但是在实际写的过程中遇到问题就是需不需要加锁,不加锁会影响什么 代码如下(伪代码) func main(){ var err error v ......
golang 问题 error

Golang io.Pipe()函数及示例

https://geek-docs.com/go-tutorials/go-examples/g_io-pipe-function-in-golang-with-examples.html 在Go语言中,io包提供了基本的I/O原语接口,其主要工作是封装这些原语的正在进行的实现。Go语言中的 Pip ......
示例 函数 Golang Pipe io

golang多版本管理工具g使用(windows)

1.下载地址 https://github.com/voidint/g/releases 2.选择win版本包 3.解压后将g.exe放入自定义目录,这里我放在C:\Program Files\g 4.设置环境变量 编辑系统变量, 添加Path值 5.打开powershell 6.默认情况下,安装的 ......
管理工具 windows 版本 工具 golang

Golang GORM 返回多数据集 []map[string]interface{}

1 // 返回多数据集 2 func UserManySet() { 3 4 rows, err := DB.Raw(`select * from [user];select * from [user1];`).Rows() 5 if err == nil { 6 for { 7 var resul ......
interface 数据 Golang string GORM

获取golang在发送 http.NewRequest 请求时的实际参数

有如下post请求 request, err := http.NewRequest(http.MethodPost, url, r) 其中r是io.Reader请求参数 可以使用以下方法获取实际发送请求时的参数: requestDump, err := httputil.DumpRequest(re ......
NewRequest 实际 参数 golang http

golang build 不同系统下的可执行文件

接着使用如下命令行运行上面的代码: go run -gcflags "-m -l" main.go 使用 go run 运行程序时,-gcflags 参数是编译参数。 其中 -m 表示进行内存分配分析,-l 表示避免程序内联,也就是避免进行程序优化。 1、Mac下编译Linux, Windows平台 ......
文件 golang 系统 build

Golang type和kind

Type是类型,Kind是类别。Type和Kind可能是相同的,也可能是不同的 var num int = 10 num的Type是int,Kind也是int var stu Student stu的Type是 包名.Student,Kind是struct ......
Golang type kind

Golang实现简易的顺序执行协程池

countable_executor.go // 一个可计数的单线程顺序任务执行器 type CountableExecutor struct { name string // 名称 taskQueue chan iCountableTask // 任务队列 bufferSize int // 缓冲 ......
简易 顺序 Golang

golang之泛型

Go 1.18版本增加了对泛型的支持,泛型也是自 Go 语言开源以来所做的最大改变。 泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型。ーー换句话说,在编写某些代码或数据结构时先不提供值的类型,而是之后再提供。 泛型是一种独立于所使用的特定类型的 ......
golang

golang 生成excel文件,或者结合gin框架返回文件流

package main import ( "errors" "fmt" "github.com/gin-gonic/gin" "github.com/xuri/excelize/v2" ) func ReadExcel(file string, sheet string) ([][]string, ......
文件 框架 golang excel gin

golang按换行符一行一行读取GBK文件

package awesomeProject1 import ( "bufio" "fmt" "github.com/axgle/mahonia" "io" "log" "os" ) func main() { filename := "/tmp/test.txt" readTbkByLine(fi ......
一行 换行符 文件 golang GBK

golang的try catch 方式

列子如下 :main.go 1 try.Catch(func(err error) { 2 //异常处理 3 fmt.Println(err) 4 }).Then(func() error { 5 //执行代码 1 6 //... 7 8 //如果有异常即抛出异常 9 return nil 10 } ......
方式 golang catch try

cerbos golang 内部policy check 处理简单说明

主要是想尝试实现一个rust 的check 方法,所以先研究下golang 的内部实现 CheckResources func (cs *CerbosService) CheckResources(ctx context.Context, req *requestv1.CheckResourcesR ......
cerbos golang policy check

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

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

golang的蓝牙通信库

github.com/tinygo-org/bluetooth: TinyGo是一个Go语言编译器,它专注于微控制器和小型计算机系统。这个库是TinyGo项目的一部分,用于支持蓝牙低功耗(BLE)设备。 github.com/go-ble/ble: 这是一个轻量级的Golang库,旨在简化与蓝牙低功 ......
golang

golang之媒体处理

[视频] 获取视频封面图: 1) 如果是使用oss的话, 可以添加指定的后缀生成指定图片 获取视频长度: 1)若是oss上的视频,则可以使用阿里云的IMM中的提取视频信息的服务 注意这里获取需要使用到签名之后获取对应的数据 这里使用基于阿里云oss包: github.com/aliyun/aliyu ......
媒体 golang

处理golang gin框架下载文件时中文文件名乱码问题

func Download(c *gin.Context) { c.Writer.WriteHeader(http.StatusOK) //设置文件类型 c.Header("Content-Type", "application/vnd.ms-excel;charset=utf8") // Path ......
文件 乱码 文件名 框架 golang

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

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

Golang使用kcp

安装 go get -u github.com/xtaci/kcp-go import ( "fmt" "github.com/xtaci/kcp-go" "golang.org/x/net/ipv4" "golang.org/x/net/ipv6" "net" ) // KCP 服务器 func ......
Golang kcp

Golang中如何自定义时间类型进行xml、json的序列化/反序列化

在日常开发工作中,我们进行会遇到将 struct 序列化 json字符串以及将 json字符串 反序列化为 struct 的场景,大家也对此十分熟悉。 最近工作中,遇到了需要将 struct 序列化 xml字符串以及将 xml字符串 反序列化为 struct 的场景,对于普通类型的字段,比如int、 ......
序列 类型 时间 Golang json

Golang学习笔记-定时任务

指定具体时间执行 package main import ( "fmt" "time" ) func main() { // 指定执行时间为 2023-11-29 00:00:00 executionTime := time.Date(2023, time.November, 29, 0, 0, 0 ......
任务 笔记 Golang