您的位置:首页Golang
  • Golang中实现简单的Http Middleware
    本文主要针对Golang的内置库 net/http 做了简单的扩展,通过添加中间件的形式实现了管道(Pipeline)模式,这样的好处是各模块之间是低耦合的,符合单一职责原则,可以很灵活的通过中间件的形式添加一些功能到管道中,一次请求和响应在管道中的执行过程如下首先, 我定义了三个测试的中间件 Mi...
    日期:2023-11-01浏览:81
  • golang elasticsearch Client的使用详解
    elasticsearch 的client ,通过 NewClient 建立连接,通过 NewClient 中的 Set.URL设置访问的地址,SetSniff设置集群获得连接 后,通过 Index 方法插入数据,插入后可以通过 Get 方法获得数据(最后的测试用例中会使用 elasticsearc...
    日期:2023-10-19浏览:44
  • 解决golang post文件时Content-Type出现的问题
    同事用php写了一个接口,要上传文件,让我做下测试,直接用curl命令调用成功,然后想用golang写个示例,源码如下:package main import ( 'bytes' 'fmt' 'io/ioutil' 'mime/multipart' 'net/h...
    日期:2023-10-21浏览:38
  • Golang使用第三方包viper读取yaml配置信息操作
    Golang有很多第三方包,其中的 viper 支持读取多种配置文件信息。本文只是做一个小小demo,用来学习入门用的。1、安装go get github.com/spf13/viper2、编写一个yaml的配置文件,config.yamldatabase: host: 127.0.0.1 user...
    日期:2023-11-24浏览:12
  • 完美解决golang go get私有仓库的问题
    解决golang go get gitlab私有仓库的问题(1.13)1. 问题描述require ( git.xxxxxxx.com/middle/user v0.0.1)go mod tidy 导入包失败go get git.xxxxxxx.com/middle/user 失败go build...
    日期:2023-10-18浏览:11
  • golang fmt格式“占位符”的实例用法详解
    golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf。# 定义示例类型和变量type Human struct { Name string}var people = Human{Name:'zhangsan'}普通占位符占位符 说明 举例 输出%v 相应值...
    日期:2023-11-02浏览:11
  • golang中切片copy复制和等号复制的区别介绍
    结论:copy复制会比等号复制慢。但是copy复制为值复制,改变原切片的值不会影响新切片。而等号复制为指针复制,改变原切片或新切片都会对另一个产生影响。测试复制速度:func TestArr1(t *testing.T) { var a []int for i := 0; i < 100000...
    日期:2023-09-26浏览:108
  • golang的串行处理和并行处理区别
    程序运算时往往需要数据,而数据的IO又往往需要时间传输,而常见的串行处理,是一个任务处理完成才接着处理新的任务, 其效率低下可想而知。 假如有3个任务要处理,而每个任务都有一定的阻塞,串行处理大概是这个样子:main.gopackage mainimport ( 'fmt' 'time'...
    日期:2023-11-02浏览:7
  • golang 将[]byte转成16进制的实现
    将[]byte转成16进制import 'crypto/md5'import 'fmt'sign := md5.Sum([]byte('date string'))signStr := fmt.Sprintf('%x', sign) //将[]byte转成16进制补充:golang []byte存储...
    日期:2023-11-24浏览:61