您的位置:首页关键词: Golang
  • 解决Golang中ResponseWriter的一个坑
    在使用Context.ResponseWriter中的Set/WriteHeader/Write这三个方法时,使用顺序必须如下所示,否则会出现某一设置不生效的情况。ctx.ResponseWriter.Header().Set('Content-type', 'application/text') ...
    日期:2023-10-27浏览:12
    标签: 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浏览:9
    标签: Golang
  • golang中的并发和并行
    golang中默认使用一个CPU,这时程序无法并发,只能是并发。因为始终只有一个CPU在运行。package main import ( 'fmt' 'runtime') //并发和并行var quit chan int = make(chan int) func loo...
    日期:2023-10-13浏览:116
    标签: Golang
  • Golang全局变量加锁的问题解决
    如果全局变量只读取 那自然是不需要加锁的如果全局变量多进程读,多进程写,那自然是需要加读写锁的但是如果全局变量只有一个进程写,其他进程读呢? 如果采用COW的方式,写进程只是通过单次赋值的方式来更新变量,是否就可以不加锁了呢?就第三种情况而言:当然我们通过 go build -race 或者 go ...
    日期:2023-10-13浏览:243
    标签: Golang
  • 解决golang http.FileServer 遇到的坑
    上次写了一个2行实现一个静态服务器的文章今天群里有个哥们是这么写居然返回的是404 见鬼了嘛??http.handle('/js', http.FileServer(http.Dir('js'))http.ListenAndServe('8080', nil)大概的意思就是绑定 路由为 js 的时候...
    日期:2023-11-29浏览:8
    标签: Golang
  • Golang 实现分片读取http超大文件流和并发控制
    分片读取http超大文件流Golang中的HTTP发送get请求,在获取内容有两种情况。Golang发送http get请求方式resp, err := http.Get(sendUrl)if err != nil { fmt.Println('出错', err) return}第一种方式是直接全部...
    日期:2023-11-29浏览:203
    标签: Golang
  • golang HTTP 服务器 处理 日志/Stream流的操作
    目前,我开发 HTTP 服务, 用的是 beego框架, 方便了很多。但是, 有时候,还是会遇到一些 特殊的场景。比如: 过滤日志。这应该是一种典型的stream,同时数据量也适中, 不会有人,为了这个, 就用一些很重的框架。可以这样直观的描述这个 逻辑其他组件 产生 log|| /我的组件,业务处...
    日期:2023-11-27浏览:8
    标签: Golang
  • golang gorm 结构体的表字段缺省值设置方式
    我就废话不多说了,大家还是直接看代码吧~type Animal struct { ID int64 Name string `gorm:'default:’galeone’'` Age int64} 把 name 设置上缺省值 galeone 了。补充:Golang 巧用构造函数设置结构体的默认值看...
    日期:2023-11-23浏览:411
    标签: Golang
  • Golang的md5 hash计算操作
    Golang计算md5值的方法都是接收byte型slice([]byte)。而且使用习惯上也觉得略奇怪。看了好几个例子才看懂。感觉Golang标准库在设计这些模块的时候,都会考虑使用带New关键字工厂生成一个该类型的结构体对象。然后再使用改对象的方法进行操作。md5包就是这样,来看例子:s := '...
    日期:2023-11-22浏览:241
    标签: Golang
  • golang频率限制 rate详解
    golang.org/x/time/rate 提对速度进行限制的算法l := rate.NewLimiter(1, 3) // 一个参数为每秒发生多少次事件,第二个参数是最大可运行多少个事件(burst)Limter提供三中主要的函数 Allow, Reserve, Wait. 大部分时候使用Wai...
    日期:2023-11-20浏览:245
    标签: Golang