随笔分类 - Go
摘要:Go的Set实现 由于Go的内置集合中没有Set的实现,可以用map[type]struct{} 要求: 1、元素的唯一性 2、基本操作:添加、删除、判断是否存在、统计元素数量 3、可遍历集合 //声明Set type Set struct { //利用map,实现的Set集合 MapSet map
阅读全文
摘要:Go没有引用传递和引用类型!!! 很多人有个误区,认为涉及Go切片的参数是引用传递,或者经常听到Go切片是引用类型这种说法,今天我们就来说一下方面的问题。 什么是值传递? 将实参的值传递给形参,形参是实参的一份拷贝,实参和形参的内存地址不同。函数内对形参值内容的修改,是否会影响实参的值内容,取决于参
阅读全文
摘要:关于GMP模型里为什么要有P,进一步推敲问题的背后,其实这个问题本质是想问:”为什么不是 G 和 M 直接绑定就完了,还要搞多一个 P 出来,那么麻烦,为的是什么,是要解决什么问题吗? 这就要说到go的历史版本了,在 Go1.1 之前 Go 的调度模型其实就是 GM 模型,也就是没有 P。 如下图:
阅读全文
摘要:导语 众所周知,go的性能非常高,特别是并发能力,主要得益于goroutine的存在,可以在语言层面上实现编发编程。 goroutine性能高有三个根本原因: 1、goroutine是一种轻量级线程,一般我们说的线程是指系统的内核线程,而goruntine更轻量级,只是对系统线程进行分段使用。 2、
阅读全文
摘要:内存分配之堆和栈的选择,以及内存分配逃逸分析
阅读全文
摘要:beego api 一个使用beego写的API 支持Api日志 支持Swagger注解文档 项目地址: https://github.com/eternity wdd/beego api 使用说明 导入数据库到mysql中(建议不低于MySQL5.7) 修改数据库配置 安装所有依赖: 运行: 访问
阅读全文
摘要:我们假设你需要 整数与小数一起进行运算,或者 整数除以整数 得到小数这种运算 如果你使用了decimal, 那么之后所有的运算你都必须使用decimal, 因为通过它计算出来的结果的类型统统为decimal.Decimal,与float64和int无法一起运算。 使用过程如下: 首先你需要安装 de
阅读全文
摘要:``` // regexp.go // 判断在 b 中能否找到正则表达式 pattern 所匹配的子串 // pattern:要查找的正则表达式 // b:要在其中进行查找的 []byte // matched:返回是否找到匹配项 // err:返回查找过程中遇到的任何错误 // 此函数通过调用 R
阅读全文
摘要:手写model的用法请参考: https://www.jianshu.com/p/f5784b8c00d0 这里仅说明自动生成model文件的过程 bee generate appcode tables="bg_api_log" conn="root:root@tcp(127.0.0.1:3306)
阅读全文
摘要:拼接字符串 func Join(a []string, sep string) string, 拼接字符串,将一个[]string的切片通过分隔符,拼接成一个字符串,类似于PHP的implode() 切割字符串 func Split(s, sep string) []string, 拆分字符串,将一
阅读全文
摘要:// 一个PHP中的多层关联数组,即Go中的多层map,如何从json字符串中解析,然后取到map中的某个具体的值。 // 数据结构如下: cityInfo := "{ "status": 0, "result": { "location": { "lat": 39.88, "lng": 118.6
阅读全文
摘要:本文主要说明本人在使用beego的注解路由时不生效问题 背景: 1、按照官网进行注解路由配置,第一次设置路由,完全正确,注解路由可用。 2、修改路由注释后,发现swagger页面并未有对应的更新 3、发现删除commentsRouter_controllers.go文件重新生成,清空浏览器缓存都没效
阅读全文
摘要:以下都全默认在controller下执行 获取当前请求的referer fmt.Println(this.Ctx.Request.Referer()) 输出:http://localhost:8080/swagger/ 获取当前uri, fmt.Println(this.Ctx.Request.Re
阅读全文
摘要:如果map中含有数组,并且数组中是数字,需要求和,如何去做 如果是多层的json,请参考我的另一篇博客: (json后的)多层map取值 另外感谢网友解决了我的问题:https://www.golangtc.com/t/5628a59fb09ecc56ca000165
阅读全文
摘要:以YY mm dd HH:MM:SS.9位 输出当前时间: func main() { fmt.Println(time.Now()) // 2019 11 15 16:26:12.4807588 +0800 CST } 获取时间戳 func main() { fmt.Println(time.No
阅读全文
摘要:打印数据类型 int64转int string 转 float 64 float 转 string int64 转 string string 转 int64 float64 转 int string(json)转数组(slice) // 声明一个数组 var temArray []interfac
阅读全文
摘要:原文: https://blog.csdn.net/weixin_33743880/article/details/88016192 beego注解路由的注释,我们可以把我们的注释分为以下类别: @Title 接口的标题,用来标示唯一性,唯一,可选 格式:之后跟一个描述字符串 @Descriptio
阅读全文