您的位置:首页关键词: Golang
  • 浅谈golang结构体偷懒初始化
    运行一段程序,警告:service/mysqlconfig.go:63::error: golang.guazi-corp.com/tools/ksql-runner/model.CreatingMysqlMongodbRecord composite literal uses unkeyed fi...
    日期:2023-11-28浏览:387
    标签: Golang
  • golang中切片copy复制和等号复制的区别介绍
    结论:copy复制会比等号复制慢。但是copy复制为值复制,改变原切片的值不会影响新切片。而等号复制为指针复制,改变原切片或新切片都会对另一个产生影响。测试复制速度:func TestArr1(t *testing.T) { var a []int for i := 0; i < 100000...
    日期:2023-09-26浏览:246
    标签: Golang
  • Golang Socket Server自定义协议的简单实现方案
    在Server和Client通讯中,由于网络等原因很可能会发生数据丢包的现象。如果数据缺失,服务端接收的信息不完整,就会造成混乱。我们需要在Server和Client之间建立一个通讯协议,通过协议中的规则,判断当前接收到的信息是否完整。根据信息的完整情况,采取不同的处理方式。通讯协议protocol...
    日期:2023-11-24浏览:117
    标签: Golang
  • Golang的md5 hash计算操作
    Golang计算md5值的方法都是接收byte型slice([]byte)。而且使用习惯上也觉得略奇怪。看了好几个例子才看懂。感觉Golang标准库在设计这些模块的时候,都会考虑使用带New关键字工厂生成一个该类型的结构体对象。然后再使用改对象的方法进行操作。md5包就是这样,来看例子:s := '...
    日期:2023-11-22浏览:250
    标签: Golang
  • Golang 实现 Redis系列(六)如何实现 pipeline 模式的 redis 客户端
    本文的完整代码在github.com/hdt3213/godis/redis/client通常 TCP 客户端的通信模式都是阻塞式的: 客户端发送请求 -> 等待服务端响应 -> 发送下一个请求。因为需要等待网络传输数据,完成一次请求循环需要等待较多时间。我们能否不等待服务端响应直接发送...
    日期:2023-11-01浏览:27
    标签: Golang
  • golang DNS服务器的简单实现操作
    简单的DNS服务器提供一个简单的可以查询域名和反向查询的DNS服务器。dig命令主要用来从 DNS 域名服务器查询主机地址信息。查找www.baidu.com的ip (A记录):命令:dig @127.0.0.1 www.baidu.com根据ip查找对应域名 (PTR记录):命令:dig @127...
    日期:2023-10-22浏览:30
    标签: Golang
  • golang中for range的取地址操作陷阱介绍
    Tips:for range创建了每个元素的副本,而不是直接返回每个元素的引用例子1:package mainimport 'fmt'func main() { slice := []int{0, 1, 2, 3} myMap := make(map[int]*int) for index, val...
    日期:2023-09-28浏览:8
    标签: Golang
  • 解决 Golang VS Code 插件下载安装失败的问题
    最近开始学Go语言,但是在使用VS Code 编写Go的时候出现了插件无法下载的问题。最初我的解决办法也是从github下载再安装,但是我并不喜欢这种做法,因为我要在多台pc上使用VS Code编写Go,所以我觉要重复多次很麻烦,而且插件的安装也非常麻烦,我曾经一度想放弃学习Go语言,没错因为安装插...
    日期:2023-11-05浏览:25
    标签: Golang
  • golang的time包:秒、毫秒、纳秒时间戳输出方式
    菜鸟的时候只知道时间戳有10位、13位、还有好长位数的。入坑久了才明白10位数的时间戳是以 秒 为单位;13位数的时间戳是以 毫秒 为单位;19位数的时间戳是以 纳秒 为单位;golang中可以这样写:package mainimport ( 'time' 'fmt')func main() { f...
    日期:2023-11-28浏览:14
    标签: Golang
  • Golang中基础的命令行模块urfave/cli的用法说明
    前言相信只要部署过线上服务,都知道启动参数一定是必不可少的,当你在不同的网络、硬件、软件环境下去启动一个服务的时候,总会有一些启动参数是不确定的,这时候就需要通过命令行模块去解析这些参数,urfave/cli是Golang中一个简单实用的命令行工具。安装通过 go get github.com/ur...
    日期:2023-11-23浏览:7
    标签: Golang