随笔分类 - Golang
摘要:最近搞envoy代理,拉了envoyproxy/envoy:latest的镜像,本地进行了一次测试,但是碰到了代理失败的情况,记录一下整个过程。 配置代理 参考envoyproxy官方前端代理示例配置作为蓝本,改成了自己的配置。内容如下: static_resources: listeners: -
阅读全文
摘要:最近面临一个应用场景,需要对一个倒手转发的json进行数据替换,查阅了众多的库,大部分都不支持这个功能,从历史项目里捞出了jsonpath这个库,但其只能根据jsonpath的schema进行Get操作,无法实现inplace回写,后来又找到sjson,这是个根据jsonpath回写的库,没有用反射
阅读全文
摘要:一. 引言 最早在go设计的初期,设计者们花了一年的时间对array类型的定义进行讨论,因为像其他语言一样,数组一般被设计为定长的、长度属于类型的一部分的用来描述线性地址空间的数据结构,但是这种定长类型对于使用者比较受局限,所以类似像C++这样的语言会出现vector这样的数据结构,来弥补数组在动态
阅读全文
摘要:很久之前面试时,有面试官表示,interface、指针不能用于map的key,当时不解,interface确实不太清楚,不过指针不就是uint64变量吗,难道uint64不能作为key吗?今天忽然回想起来,决定搞搞清楚。 官方说法 根据Andrew Gerrand在2013年的Go maps in
阅读全文
摘要:一. errors的基本应用 errors包是一个比较简单的包,包括常见的errors.New创建一个error对象,或通过error.Error方法获取error中的文本内容,本质上在builtin类型中,error被定义为一个interface,这个类型只包含一个Error方法,返回字符串形式的
阅读全文
摘要:源自官方博客一篇文章《The Laws of Reflection》,主要是对于interface类型和反射的一些概念性定义,以下内容仅用于个人记录,如果没有读过原文可能阅读体验不好,请谅解。 类型与接口 go是静态类型语言go是强类型语言别名类型也必须强转才能赋值类原类型interface类型可以
阅读全文