Tag: Golang

Golang设计模式之单例

Jackey Golang 2,011 次浏览 , ,
package main import ( "fmt" "sync" ) type Single struct { Data int } var singleton *Single var once sync.Once // 内核信号,时时刻刻只能运行一个 func GetInterface() *Single { once.Do(...

Golang设计模式之工厂

Jackey Golang 2,005 次浏览 , ,
新建 OperatorFactory.go package factory // 实际运行类的接口 type Operator interface { SetLeft(int) SetRight(int) Result() int } // 工厂接口 type OperatorFactory interface { Create() Opera...

Golang 接口与多态

Jackey Golang 2,591 次浏览 , ,
package main import ( "fmt" ) type A interface { Get() } type B struct { } func (b *B) Get () { fmt.Println("b") } type C struct { } func (c *C) Get () { fmt.Println("c") } f...

IDEA 利用 go mod 管理 beego 项目

Jackey Golang 3,820 次浏览 ,
项目名称:test mkdir goproject cd goproject mkdir src mkdir test 进入IDEA, 打开到 test项目,然后配置IDEA的gopath和代理网址: 说明:配置gopath是为了找到bee命令,配置代理网址:https://goproxy.cn,是为...

Golang 利用redis加并发锁

Jackey Golang, Redis 4,372 次浏览 ,
package main import ( "fmt" "github.com/go-redis/redis" "time" ) // 定义redis链接池 var RedisTest *redis.Client // 初始化redis链接池 func init() { RedisTest = redis.NewClient(&redis.Options...

Golang 比较两个版本号

Jackey Golang 6,536 次浏览 ,
要求 比较两个版本号 version1 和 version2。 如果 version1 > version2 返回 1,如果 version1 < version2 返回 -1, 除此之外返回 0。 你可以假设版本字符串非空,并且只包含数字和 . 字符。 . 字符不代表小数点,而...

Golang 策略模式

Jackey Golang 3,522 次浏览 ,
什么是策略模式? 不同的算法按照统一的标准封装,客户端根据不同的场景,决策使用何种算法。 优势 典型的高内聚:算法和算法之间完全独立、互不干扰 典型的松耦合:客户端依赖的是接口的抽象方法 沉淀:每一个封装好的...

go-redis模块对Redis进行批量操作

Jackey Golang, Redis 3,581 次浏览 ,
go-redis对redis执行批量操作的类是Pipeliner,具体示例如下. 运行该示例可在redis服务端依次接收到: MULTI incr tx_pipeline_counter expire tx_pipeline_counter 3600 EXEC 多条命令采用批量处理不止节省网络时...
Go