golang
文章平均质量分 86
名白
举重若轻是一种素质而不是一种现象
展开
-
sql审核-避免离线sql导致的db集群故障
关键词: sql审核、sql审批、sql检查、sql检测、sql执行离线sql可能会导致的问题首先,什么是离线sql呢?就是说手动触发执行的这种sql;相对的还有在线sql,位于我们的程序代码中,由程序触发执行的sql是在线sql。举个例子,我们想要建库、建表、改表的时候,通常会编写sql语句,选一个合适的时间执行;这就是离线SQL。当然,操作数据的离线sql也是有的,比方说线上程序bug,我们想要手动修复个别数据,这时候也会提交离线的修改数据的SQL。那么,离线的sql可能会导致哪些问题呢?这个说起原创 2022-01-12 20:29:17 · 691 阅读 · 1 评论 -
go1.13 mod 实践和常见问题
实践建议0,go mod 要求所有依赖的 import path 的path 以域名开头,如果现有项目转1.13的go mod 模式,且不是以域名开头则需要修改。 eg: code.be.mingbai.com/tools/any_test_del_free1, 既然已经更新到1.13了,建议直接设置GO111MODULE=“on” ,即开启go mod 模式。因为这也是以后的主流,pat...原创 2019-12-18 20:58:07 · 4812 阅读 · 0 评论 -
etcd 添加用户,授权特定目录
适用场景多组共用etcd集群,创建一个新用户、新目录,让这个新用户只有新目录的使用权限。命令和顺序创建目录,注意此处是v2curl -u root:pwd http://host:2379/v2/keys/dir -XPUT -d dir=true查看用户列表./etcdctl -u root:pwd --endpoints=http://host:2379 user list...原创 2019-10-24 09:46:30 · 777 阅读 · 0 评论 -
golang 你所不知道的 log 和 fmt
直接点说,就是由于fmt 是线程不安全的, 如果你在多协程场景下使用fmt打印信息可能会得到乱序的结果 就是说 不按代码里的顺序打印.下面看示例代码示例golang fmt 多线程 乱序:func main() { wg := sync.WaitGroup{} wg.Add(10) var arr []int for i:=0;i<10;i++ { go func(...原创 2019-10-08 20:07:59 · 896 阅读 · 0 评论 -
golang 写文件--详细解释
1,不覆盖指定的文件先看代码怎么写,下面再具体解释.func writeToFile(msg string) { f, err := os.OpenFile("/home/mingbai/del/koala.log", os.O_WRONLY&os.O_CREATE, 0666) if err != nil { log.Println(err.Error()) } _,...原创 2019-08-30 18:24:52 · 216 阅读 · 0 评论 -
golang 模板语法使不解析html标签及特殊字符
场景有时候需要使用go的模板语法,比如说用go 去渲染html页面的时候,再比如说用go的模板搞代码生成的时候。这时候可能会遇到一个麻烦,不想转译的特殊字符被转译了。我遇到的情况是写代码生成器的时候,‘<’ 符号被转译了,导致channel 相关的部分有问题。这个问题很简单,但是资料不多,我也是试了半天才发现。其实把包含特殊字符的字符串 先转成 template.HTML 类型再加载到...原创 2019-08-13 09:23:16 · 1109 阅读 · 1 评论 -
golang 结合实例更好的理解参数传递和指针
关于参数传递其实go的参数传递,核心就是一句话:go里所有参数传递都是值传递,既把参数复制一份放到函数里去用。go的函数传参,不管参数是什么类型,都会复制一份,然后新的参数在函数内部被使用。不像其他语言,有的时候传参只是传递一个原来参数的引用(引用和指针的区别,欢迎翻看我上上上上一篇分享),在函数内部操作变量,其实还是操作的原变量。go内不会直接的操作原变量。关于指针相比于C里的指针,g...原创 2019-08-12 00:19:01 · 445 阅读 · 0 评论 -
golang const 内itoa 用法详解及优劣分析
首先itoa 是什么const 内的 iota是golang语言的常量计数器,只能在常量的表达式中使用,,即const内。iota在const关键字出现时将被重置为0(const内部的第一行之前),const中每新增一行常量声明将使iota计数一次。可以参照行号理解,也就是说将iota理解为const语句块中的行索引。关于其特性举例如下:通过例子说明其各种特性。1、每次 const 出...原创 2019-08-05 21:25:11 · 1194 阅读 · 0 评论 -
golang-http 请求---设置header与直接发
背景现在各种软件到处都是,写代码难免有时候需要http 调用其他的接口。其实这个东西还挺常用,虽然很简单,但是写的时候 又忘,就像是提笔忘字,索性总结一下吧。不需要设置header属性的http 请求那就直接发,简单快捷不拖沓。http GET请求 resp, err := http.Get("http://abced.com/" + "/user/false/lsj") if er...原创 2019-08-02 20:44:33 · 3449 阅读 · 0 评论 -
golang 用defer 捕获error 需小心
有时一个函数内需要根据最后是否出错,决定是否执行某个操作。这时候如果函数的分支又比较多,就会比较麻烦了。defer 处理这个情况刚好合适func main() { var err error byErr(&err) defer byErr(&err) defer func(err *error) { byErr2(*err) }(&err) e...原创 2019-07-28 22:21:47 · 168 阅读 · 0 评论