最近碰到个情况,使用elastic包时,本地环境OK,现网使用了云服务的ES后,服务直接报错:“no active connection found: no Elasticsearch node available”。
而实际检测ES服务又是正常的,那问题应该出[……]
标签归档: Golang
go语言分割文本到数组
其实和其他语言类似,都是split。
示例代码:
s:="iiaiibiiciiiidiiii"
sep:="ii"arr:=strings.Split(s,sep)fmt.Println("arr:&quo[......]
golang时间转带TZ的格林威治时间字符串
有个比较特别的字段,Java端写入ES的时间戳为:2022-01-11T02:28:55.166Z
,如果用时间范围过滤,那么入参也要和该格式保持一致。
那么如何将标准的时间戳(20XX-XX-XX XX:XX:XX)转为带TZ的格林威治的时间字符串呢?示[……]
go语言如何返回空数组
一般处理空了可能返回个null,但如果预期是数组的话,碰到了使用ANT的前端解析异常的情况。
那么Go语言是否能给一个字段返回空数组呢?其实也很简单,直接字段赋值即可,代码如下:
fields = make([]int, 0)
参考资料[……]
go语言 strtotime
strtotime是PHP研发比较常用的格式化时间的函数,Go语言里是没有的,那么是否有办法重写一个呢?
其实已经有人写好库了:
go get -u github.com/carmo-evan/strtotime
安装后,即可使用。示例代码:[……]
go语言 olivere elastic Error all shards failed 解决办法
呐,我碰到报错:“elastic-Error all shards failed ”。主要是因为我使用了聚合elastic.NewTermsAggregation().Field(field)所致。
当然,问题并不是出在聚合上,而是出在字段上。PHP的搜索引擎,[……]
go语言内部包如何控制包成员的对外暴露
以下内容摘录整理自:kevin_tech 的 Go语言内部包–控制包成员的对外暴露
这个问题其实从来没考虑过,甚至都没有碰到过,毕竟还是浅尝辄止的初学者。虽说如此,但依然还是有必要整理留作经验的,如何让一个package,不被其他包使用?假如包里[……]
go语言 Dockerfile builddial tcp: lookup 报错解决方案
比较奇葩的问题,build的时候走到下载mod包会报错:“dial tcp: lookup goproxy.cn on 223.6.6.6:53: read udp 172.17.0.2:41803->223.6.6.6:53: i/o timeout”。
开始以[……]
go语言 正则过滤字符串
有的时候安全起见,对于输入的参数值,我们是需要过滤只保留自己需要的字符的,比如只保留数字字母,通常这个时候就会用到正则表达式。
那么go语言如何使用正则过滤字符串呢?示例代码如下:
package main
import ( "fmt&q[......]
go语言 yaml到config的配置结构体声明 魔法
说魔法其实也可以说是个邪道做法,毕竟我主要玩儿PHP,Go接触较少,结构体啊分片数组啥的数据结构领悟还不够深入,所以碰到复杂的yaml配置文件需要先声明好结构体才能正确初始化好配置的时候,会感觉有些困难。
实践中因为不熟悉,常想是否有更简单的办法呢?后来脑子抽风[……]