![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
golang
For_Master
作者很懒,什么都没有留下,他可能去打王者了
展开
-
分享一个goland使用多版本go sdk的方法
goland 使用 多版本 go sdk原创 2022-06-24 18:58:56 · 3494 阅读 · 1 评论 -
golang 策略模式
策略模式策略模式定义了算法族,分别封装起来,让他们直接可以互相替换,此模式让算法的变化独立于使用算法的客户。go不同于java,本身没有继承的概念,天然只支持接口的组合模式。符合设计原则:多用组合,少用继承。策略模式是把变化的部分抽象出来,封装成单独的接口,然后在主接口利用“委托”(组合)的方式调用变化的部分,因为变化的部分单独成一个接口,所以它的各种实现直接可以互相替换,达到随时改变,添加,删除,不会影响到已经实现的代码部分,下面是示例代码,分析也写在了注解里面type Interface1 in原创 2021-09-09 10:06:15 · 596 阅读 · 0 评论 -
kubernetes 中的使用的缓存 ---lru.Cache
lru.Cachelru 源码位置 https://github.com/golang/groupcache/tree/master/lruLRU(Least Recently Used)特点:即最近最少使用,优先移除最久未使用的数据,按时间维度衡量。数据结构:双向链表和HashMap淘汰原则:根据缓存数据使用的时间,将最不经常使用的缓存数据优先淘汰。如果一个数据在最近一段时间内都没有被访问,那么在将来他被访问的可能性也很小先看一下Cache代码结构type Cache struct {原创 2021-09-01 16:41:59 · 300 阅读 · 0 评论 -
golang 单例模式
单例模式,全局只有一个实例,无法再新建饿汉模式:提前创建实例,提供一个对外方法,返回此实例代码如下:// Singleton 饿汉式单例, 都使用小写,无法导出,外部包没法直接创建type singleton struct{ name string}// 通过一个导出类型暴露出去*singleton,由于Singleton内部属性无法导出,所以外部也没法创建(只能创建一个空对象)type Singleton struct { *singleton}var single *Sing原创 2021-08-27 10:59:15 · 1266 阅读 · 0 评论 -
菜鸟学go 技巧总结(一)--默认配置
我们经常需要写一些配置性的内容,而这些配置可能非常的复杂,信息比较多,可扩展性多。这时候经常会有一种技巧就是提供默认配置,同时提供自定义配置方法,因为很多人可能使用最常用的几个配置就可以了,比较配置的复杂性。这种做法在go里面非常常见这里举一个pflag的例子:var CommandLine = NewFlagSet(os.Args[0], ExitOnError)// NewFlagSet returns a new, empty flag set with the specified name,原创 2021-07-22 17:57:40 · 224 阅读 · 0 评论 -
golang 实现接口的重写
golang能像java一样实现接口的重写吗,答案是可以的,看下面这波操作type Test interface { a() b()}type TestCommon struct {}func (t TestCommon)a() { fmt.Println("this TestCommon.a()")}func (t TestCommon)b() { fmt.Println("this TestCommon.b()")}type TestShade struct{ Test原创 2021-07-22 16:06:55 · 1425 阅读 · 1 评论 -
strings.TrimPrefix 和 strings.TrimLeft 的区别
先来直观的感受一下他们的执行结果:const Prefix = "abc"func main() { str := "abccbsfjs" result1 := strings.TrimLeft(str, Prefix) fmt.Println(result1) fmt.Println("----------------") result2 := strings.TrimPrefix(str, Prefix) fmt.Println(result2)}result:sfjs--原创 2021-06-15 20:46:26 · 634 阅读 · 0 评论 -
go语言函数类型的一般使用(一)
go语言的函数类型函数在go语言中也是一种变量,我们是通过type来自定义类型的,函数的类型是所拥有的相同参数与相同返回值的一种函数类型函数作为类型的最大好处在于可以把这个类型的函数当做值来传递:...原创 2021-05-25 10:55:01 · 216 阅读 · 0 评论