
go
爱吃苹果的牛顿
定期发放资源,大家有资源的都可以分享一下
展开
-
golang常用函数
golang 字符串常用操作go 数组或者切片转字符串分割FlashPromotionSessionId :=[]int64{1,2,3}strings.Replace(strings.Trim(fmt.Sprint(FlashPromotionSessionId), "[]"), " ", ",", -1)fmt.Sprint(interface{}) string 任意类型转字符串strings.Trim(string,"[]") 去除字符串两边中包含的中括号strings.Re.原创 2022-06-07 09:16:29 · 619 阅读 · 0 评论 -
go 配置文件解析viper包
github地址:github.com/spf13/viperViper 是一个完整的 Go 应用程序配置解决方案,优势就在于开发项目中你不必去操心配置文件的格式而是让你腾出手来专注于项目的开发。其特性如下:支持 JSON/TOML/YAML/HCL/envfile/Java properties 等多种格式的配置文件;可以设置监听配置文件的修改,修改时自动加载新的配置;从环境变量、命令行选项和io.Reader中读取配置;从远程配置系统中读取和监听修改,如 etcd/Consul;代码逻辑中显示设置键值注原创 2022-06-06 14:20:06 · 490 阅读 · 0 评论 -
go 设计模式
创建型模式特点:创建对象的同时隐藏创建逻辑1.单例模式。适用场景:全局共享一个实例,且只需要被初始化一次的场景。eg:数据库,全局配置,全局任务池单例模式分为,1.懒汉模式(第一次使用时加载) 缺点:每次使用时要判断实例是否存在,不存在才创建,而且非并发安全的。 2.饿汉模式(全局加载时被创建) 缺点:创建实例耗时过长会导致启动过慢//饿汉模式type singleton struct {}var ins *singleton = &singleton{}func Get原创 2022-05-21 21:02:18 · 1089 阅读 · 0 评论 -
uber-go/goleak 快速找到goroutine 泄露的工具
goget-ugo.uber.org/goleakimport ( "testing" "go.uber.org/goleak")func xielou() {//待测试的方法 ch := make(chan struct{}) go func() { ch <- struct{}{} }()}func TestXielou(t *testing.T) {//单元测试defer goleak.VerifyNone(t) xielou()}...原创 2022-04-24 16:56:58 · 336 阅读 · 0 评论 -
golang面试题2022
1.nil切片和空切片区别指向引用数组的地址不同,nil切片指向引用数组为0(无实际意义)空切片的引用数组指针地址是有的,且固定为一个值原创 2022-03-19 11:27:58 · 735 阅读 · 0 评论 -
golang 互斥锁
package mainimport ( "fmt" "sync")var lock sync.Mutex //互斥锁var wg sync.WaitGroup//等待一组协程结束var total intfunc sub() { defer wg.Done()//底层是wg.add(-1) for i :=0;i<1000000;i++{ lock.Lock() total -=1 lock.Unlock() }.原创 2021-09-12 16:49:15 · 427 阅读 · 0 评论 -
golang 数据类型和php数据类型和proto
proto go phpdouble(双精度) float64 floatfloat float32 floatint32 int32 integeruint32 uin...原创 2021-08-25 23:10:30 · 403 阅读 · 0 评论 -
golang 方法和函数的区别
//Golang的方法定义//Golang中的方法是作用在特定类型的变量上,因此自定义类型,都可以有方法,不仅仅是struct//定义:func (recevier type) methodName(参数列表)(返回值列表){}//方法和函数的区别/*1,函数调用:function(variable,参数列表)2, 方法,variable.function(参数列表)方法的控制,通过大小写空格控制 *///这里传递的是副本,想改变p的值,需要传递指针func (p *integer.原创 2021-08-11 15:27:08 · 525 阅读 · 0 评论 -
go beego 笔记
string包 strings.Trim(user.Password," ") 去除空格不能区分几个空格要自己设原创 2020-01-14 11:12:19 · 214 阅读 · 0 评论 -
go:missing Git command
在使用Go命令时出现上面的错误,其原因大概有两种:一是没有安装Git;二是虽然安装了Git,但环境变量没设置或设置有问题。针对不同的原因,解决办法如下:安装Git主要有两种安装方式:一种是通过编译源代码来安装;另一种是使用为特定平台预编译好的安装包。从源码安装的好处就是可以是最新的版本。在Linux上安装预编译好的Git二进制安装包在Fedora上用yum安装:$ yum insta...转载 2019-03-28 14:36:37 · 2420 阅读 · 0 评论 -
golang beego 常见问题
beego.AppConfig.String取不出默认配置的值原创 2019-03-07 17:20:08 · 364 阅读 · 0 评论