随笔分类 - go
摘要:通过Slice实现 package main import ( "fmt" "sync" ) type customQueue struct { queue []string lock sync.RWMutex } func (c *customQueue) Enqueue(name string)
阅读全文
摘要:go的chan关闭使用最好和select case一起使用。
阅读全文
摘要:golang游戏服务器参考https://github.com/viphxin/xingo [分布式]https://github.com/name5566/leaf [单服]https://github.com/liangdas/mqant 分布式https://github.com/ronow2
阅读全文
摘要:1.go mod init 初始化一个go.mod文件到当前目录, 实际上是创建了一个以当前目录为模块的mod。 如果go.mod已经有了就会报错:go源码如下: 2.go mod tidy 类似maven update, 通过这个命令下载项目依赖的第三方库,同时会去掉不相关的库。 3.go mod
阅读全文
摘要:package main import ( "crypto/md5" "fmt" "io" ) // golang md5加密 func main() { h := md5.New() // 签名 sign := "wasdhasdhjasduh" // 生成md5码写法1 io.WriteString(h, sign) sum := fmt.Sprintf("%x",...
阅读全文
摘要:golang数据结构之List,实际中用得很少,这里只做研究。
阅读全文
摘要:package main import ( "fmt" "io/ioutil" "log" "os" ) func main() { path := "C:\\Users\\Administrator\\Downloads\\实用go语言学习" files, err := ioutil.ReadDir(path) if err != nil { log.Fatal(e...
阅读全文
摘要:原型模式是创建型模式的一种,其特点在于通过“复制”一个已经存在的实例来返回新的实例,而不是新建实例。被复制的实例就是我们所称的“原型”,这个原型是可定制的。原型模式多用于创建复杂的或者耗时的实例,因为这种情况下,复制一个已经存在的实例使程序运行更高效;或者创建值相等,只是命名不一样的同类数据。 一句
阅读全文
摘要:go是一门非常简洁,但很高效的语言。当我接触这门新语言的时候,我不大喜欢从头看 一门大部头的书,而是从简单的语法学习。我记得我第一次学go的时候,那时介绍go的书不多, 后来从网上下载了一本the little go book,在从杭州回武汉的火车上看完了,至今印象还是很深刻。 这对我以后理解go语
阅读全文
摘要:package main import ( "errors" "fmt" ) const ( ACT = 1 TASK = 2 ) type Quest struct { Id int QuestType int Process int Status int } type Questier interface { DoAction(Quest)...
阅读全文
摘要:package main import "fmt" var singleton *Singleton type Singleton struct { Count int } func GetSingleton() *Singleton { if singleton == nil { singleton = &Singleton{} return singleton } r...
阅读全文
摘要:游戏中加经验的地方很多,很多人写的很乱,我把这个功能用比较简单且清晰的方法写了下来。代码如下: package main import ( "fmt" "log" "github.com/emirpasic/gods/maps/treemap" ) func main() { exp := []int{ 20, 30, 40, 50, 70, 300, 350...
阅读全文
摘要:package main import ( "fmt" "sync" ) func main() { var mapInt = new(sync.Map) //add elem mapInt.Store(1, 1) mapInt.Store(2, 2) mapInt.Store(3, 3) fmt.Println("before delete ...
阅读全文
摘要:package main import ( "encoding/json" "log" "reflect" "github.com/sanity-io/litter" ) func main() { type Item struct { Id int `json:"id"` Num int `json:"num"` } var itemMap = make(map[...
阅读全文
摘要:package main import ( "fmt" "time" ) func main() { // ticker inner use chanel ticker := time.NewTicker(time.Second) for { <-ticker.C fmt.Println("tick!") } }
阅读全文
摘要:package main import ( "time" "github.com/sanity-io/litter" ) func main() { var sliceChan = make(chan []int) go func(c chan []int) { for { select { case <-c: litter.Dump(<-c) def...
阅读全文
摘要:package main import ( "github.com/sanity-io/litter" ) func main() { var mapInt = make(map[int]int) // add for i := 1; i < 10; i++ { mapInt[i] = i } litter.Dump(mapInt) // update mapInt[3]...
阅读全文
摘要:package main import "github.com/sanity-io/litter" // slice增删改查,很实用 func main() { var sliceInt []int // init sliceInt = append(sliceInt, []int{1, 2, 3, 4}...) litter.Dump(sliceInt) // remove ind...
阅读全文
摘要:cd projecy/dir golint foldier name
阅读全文

浙公网安备 33010602011771号