Go-如何将任意int或float转成string

from:https://stackoverflow.com/questions/44539789/how-to-convert-number-int-or-float64-to-string-in-golangQ: 我如何将给定的任意int或float64类型的数字转义为string类型?如果使用strconv.FormatFloat或FormatInt的话我需要提前之前它是int或float才行,当我们提前不知道它们类型且不知道float的有效数字长度的情况下怎么格式化? 比如: 当我得到一个数字5,它应该被转成“5”而不是“5.00”; 当我得到一个小数1.23,它应该被转成“1.23”而不是“1” A1: 我们可以使用fmt.Sprint,它会将任意类型的变量转换成string package main import ( "fmt"

记踩Etcd的一个坑

背景最近一个服务引入了etcd,用于主从,编译能够正常通过,但是在run阶段出现如下panic: 2020-12-14 13:36:42.799342 I | WARNING: proto: message authpb.User is already registered A future release will panic on registration conflicts. See: https://developers.google.com/protocol-buffers/docs/

Expect脚本之一键登录

背景工作中常常会通过ssh登录各个服务器,我们可以直接把这些ssh信息用alias进行重命名,但是始终还是有个问题,就是密码还是得输,如果工作服务器是经过跳板机来跳转的,还得蛋疼的再ssh一下,那我们有没有啥办法能解决这个呢?有!用expect ExpectFrom Wikipedia:Expect是Unix系统中用来进行自动化控制和测试的软件工具,由Don Libes制作,作为Tcl脚本语言的一个扩展,应用在交互式软件中如telnet,ftp,Passwd,fsck,rlogin,tip,ssh等等。该工具利用Unix伪终端包装其子进程,允许任意程序通过终端接入进行自动化控制;也可利用Tk工具,将交互程序包装在X11的图形用户界面中。 示例文件以.sh结尾 #!/usr/bin/expect set timeout

Golang之go get golang.org/x timeout

背景使用软件项目开发过程中是离不开开发环境的,而我们的Golang环境更不可能离开golang.org包,但我们在编译或者安装某个包时,常会提示 "golang.org/x/(ooo引用不同包,报的错会不一样)" (https fetch: Get https://golang.org/x/net/(ooo引用不同包,报的错会不一样)?go-get=1: dial tcp 216.239.37.1:443: i/o timeout) 毫无疑问,

Golang之defer

背景defer在golang中属于关键词,主要用于资源释放,会在函数返回之前被调用,但其中也包含了很多的坑。下面我们通过几个常见例子来进行相关的讲解。 例子// e.g.1 func f1() (r int) { defer func() { r = r + 5 }() return 1 } // e.g.2 func f2() (r int) { t := 5 defer func() { t = t