随笔- 454
文章- 302
评论- 28
阅读-
65万
随笔分类 - golang
golang 在window上编译linux可执行文件
摘要:编译linux可执行文件 SET CGO_ENABLED=0 SET GOOS=linux SET GOARCH=amd64 编译window可执行文件 SET CGO_ENABLED=0 SET GOOS=windows SET GOARCH=amd64
阅读全文
golang中string int float bool类型相互转换
摘要:golang中string int float bool类型相互转换 package main import ( "fmt" "strconv" ) func IntToString() { //todo :int to string v := 456 vS := strconv.Itoa(v) f
阅读全文
Golang如何获取当前年份月份日
摘要:百度中搜索这个问题通常会搜到 year:=time.Now().Year() month:=time.Now().Month()//time.Now().Month().String() day:=time.Now().Day() 但是这并不是你想要的月份格式,因为执行后可以看到输出的是 2018
阅读全文
gjson包
摘要:gjson包安装使用go get -u github.com/tidwall/gjsonconst json = `{"name":[{"first":"Janet","last":"Prichard"}, {"abc": 1, "e" : 2}],"age":47}` func main() {
阅读全文
maxwell监听mysql的新增和修改操作触发事件
摘要:http://maxwells-daemon.io/quickstart/ Download Download binary distro: https://github.com/zendesk/maxwell/releases/download/v1.33.0/maxwell-1.33.0.tar
阅读全文
开放分布式追踪(OpenTracing)入门与 Jaeger 实现
摘要:分布式系统的运维挑战 容器、Serverless 编程方式的诞生极大提升了软件交付与部署的效率。在架构的演化过程中,可以看到两个变化: 应用架构开始从单体系统逐步转变为微服务,其中的业务逻辑随之而来就会变成微服务之间的调用与请求。 资源角度来看,传统服务器这个物理单位也逐渐淡化,变成了看不见摸不到的
阅读全文
Golang 的 goroutine 是如何实现的?
摘要:我知道同步并发的原理是利用进程或者线程,由操作系统调度;异步并发的原理是 DMA,即不经过 CPU 直接把 IO 的某一快 copy 到 memory 上或者反之,那么,新学 Golang 的我想知道,Golang 的所谓 goroutine (协程)如何实现的? 作者:Yi Wang链接:http
阅读全文
golang分布式链路追踪 OpenTracing jaeger
摘要:golang分布式链路追踪 jaeger,OpenTracing,jaeger http中的传递,jaeger进程间的传递 grpc中传递traceId
grpc metadata
阅读全文
golang etcd clientv3.New()不报超时错误的问题解决
摘要:正常来说,clietntv3的初始化代码如下: config := clientv3.Config{ Endpoints: []string{"localhost:2379"}, DialTimeout: 2*time.Second, } client, err := clientv3.New(co
阅读全文
golang 反向代理reverseproxy源码分析
摘要:1 基于reverse proxy实现的反向代理例子 package main import ( "log" "net/http" "net/http/httputil" "net/url" ) func main() { // 地址重写实例 // http://127.0.0.1:8888/tes
阅读全文
Go类型系统概述
摘要:概念:基本类型(basic type) 内置基本类型已经在前面的文章基本类型和它们的字面量表示一文中介绍过了。 为了本文的完整性,这些内置类型重新被列在这里: 内置字符串类型:string. 内置布尔类型:bool. 内置数值类型: int8、uint8(byte)、int16、uint16、int
阅读全文
在Windows中编译Linux运行的Golang程序
摘要:在Windows中编译Linux运行的Golang程序 参考如下 参考如下:打开CMD,先修改Go环境参数,然后再编译。编译结束恢复为windows的环境参数。注意:不知道为什么,在VsCode的Terminal中操作时会失败,但是在cmd.exe中是可以的。 第一步,修改go环境参数 SET CG
阅读全文
golang限流器
摘要:服务限流 在突发的流量下,通过限制用户访问的流量,保证服务能够正常运行 常见的限流思路 排队 应用场景:秒杀抢购,用户点击抢购之后,进行排队,直到抢到或售罄为止 拒绝 应用场景:除秒杀之外的任何场景 限流算法 计数器限流算法 漏桶限流算法 令牌桶限流算法 计数器限
阅读全文
golang如何优雅地关闭通道
摘要:在本文发表数日前,我曾写了一篇文章来解释通道的规则。 那篇文章在reddit和HN上获得了很多点赞,但也有很多人对Go通道的细节设计提出了一些批评意见。 这些批评主要针对于通道设计中的下列细节: 没有一个简单和通用的方法用来在不改变一个通道的状态的情况下检查这个通道是否已经关闭。 关闭一个已经关闭的
阅读全文
golang设计模式之选项模式
摘要:type Options struct { StrOption1 string StrOption2 string StrOption3 string IntOption1 int IntOption2 int IntOption3 int} type Option func(opts *Optio
阅读全文
golang 并发编程 通道用例大全
摘要:在阅读本文之前,请先阅读通道一文。 那篇文章详细地解释了通道类型和通道值,以及各种通道操作的规则细节。 一个Go新手程序员可能需要反复多次阅读那篇文章和当前这篇文章来精通Go通道编程。 本文余下的内容将展示很多通道用例。 希望这篇文章能够说服你接收下面的观点: 使用通道进行异步和并发编程是简单和惬意
阅读全文
golang通道 channel详解
摘要:通道(channel)介绍 通道是Go中的一种一等公民类型。它是Go的招牌特性之一。 和另一个招牌特性协程一起,这两个招牌特性使得使用Go进行并发编程(concurrent programming)变得十分方便和有趣,并且大大降低了并发编程的难度。 通道的主要作用是用来实现并发同步 Go提供了一种独
阅读全文