golang
2022-01-05
46
每日小结作息3.29 12点入睡 3.30 6点45清醒,无午休。运动行走步数:9134135度弯曲举腿:30次娱乐B站,知乎闲逛饮食早餐面包中午食堂打包晚上食堂学习决定暂时不学golang,开始学java。java学习 : 使用how2j. cn以及matools上的jdk8文档。当日学习进度:1.hello world 转义字符2.变量基础及部份细节明日目标:学习java变量,运算符,进制,记录自己这个废物的2021.3.30本文来自:简书感谢作者:f51e027ed4bd查看原文:2020.3.
2022-01-05
873
在https://pkg.go.dev/查找常见的golang第三方包1. 找到需要下载安装的第三方包的地址以解决float精度丢失的包decimal为例https://github.com/shopspring/decimal2. 安装该包方法一go get 包名称(全局)
//eg:go get github.com/shopspring/decimal方法二依赖包会自动下载到$GOPATH/pkg/mod,多个项目可以共享缓存的mod,注意使用go mod download的时候首先需要在你的项目里
2022-01-05
97
golang的内存泄漏分析
什么是内存泄漏
内存泄漏说白了就是分配的内存(或者变量)不再使用,但是并没有被gc回收,而是继续占用内存
内存泄漏场景
substring案例
var s0 string // 包级别变量
// A demo purpose function.
func f(s1 string) {s0 = s1[:50]//s0 和 s1 共用相同的底层memory block// 尽管 s1 不再使用,但是 s0仍然存活状态// 所以s1 的内存不会被回收,尽管只有 50 byte内存//
2022-01-05
87
## 工厂模式
#### 1.简单工厂
```go
//定义两个生成动物的工厂,一个生成Dog,一个生成Cat
type Cat struct{}
type Dog struct{}
//定义一个接口,为了代码简单,这里我定义了一个空接口,这样Dog,Cat就不用实现任何方法
type Animal interface{}
//简单工厂方法,用于生成具体动物
func Create(animalType string) Animal {var animal Animalswitch animalType
2022-01-05
65
作者:三十三重天
博客:http://www.zhouhuibo.club
通过学习和分享的过程,将自己工作中的问题和技术总结输出,希望菜鸟和老鸟都能通过自己的文章收获新的知识,并付诸实施。引言
Go语言原生的map类型并不支持并发读写。
在Go 1.9之前,go语言标准库中并没有实现并发map。在Go 1.9中,引入了sync.Map。
concurrent-map的优势
concurrent-map提供了一种高性能的解决方案:通过对内部map进行分片,降低锁粒度,从而达到最少的锁等待时间(锁冲突)。
2022-01-05
48
关于我
我的博客|文章首发
Cast介绍
Cast是什么?
Cast是一个库,以一致和简单的方式在不同的go类型之间转换。
Cast提供了简单的函数,可以轻松地将数字转换为字符串,将接口转换为bool类型等等。当一个明显的转换是可能的时,Cast会智能地执行这一操作。它不会试图猜测你的意思,例如,你只能将一个字符串转换为int的字符串表示形式,例如“8”。Cast是为Hugo开发的,Hugo是一个使用YAML、TOML或JSON作为元数据的网站引擎。
为什么使用Cast?
在Go中处理动态数据时,通常需要
2022-01-05
39
我们很少有机会直接将两种技术彼此比较以完成同一任务。但是有时就会那么巧遇到星星排成一行的情况,比如从当前技术堆栈中你一直得到的是负面影响,而这时恰巧出现了满足你确切需求的新技术,或者项目的规模和功能集超过了现有技术的能力范围。在 Salesforce,我们在过去几年中遇到了这种情况。我们将大多数 Einstein Analytics 后端从 Python-C 混合平台移植到了 Go。Go 是 Google 为大规模现代软件工程设计的一种语言。传说中,谷歌工程师想创建一种为大型应用程序设计的语言,并在等待大
2022-01-05
66
go modGO111MODULE 有三个值:off, on和auto(默认值)GO111MODULE=off,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者GOPATH模式来查找。GO111MODULE=on,go命令行会使用modules,而一点也不会去GOPATH目录下查找。GO111MODULE=auto,默认值,go命令行将会根据当前目录来决定是否启用module功能。这种情况下可以分为两种情形:当前目录在GOPATH/src之外且该目录包含go