随笔分类 -  go

摘要:通过Slice实现 package main import ( "fmt" "sync" ) type customQueue struct { queue []string lock sync.RWMutex } func (c *customQueue) Enqueue(name string) 阅读全文
posted @ 2020-07-17 09:54 星空42 阅读(468) 评论(0) 推荐(0)
摘要:go的chan关闭使用最好和select case一起使用。 阅读全文
posted @ 2020-05-06 16:14 星空42 阅读(520) 评论(0) 推荐(0)
摘要:golang游戏服务器参考https://github.com/viphxin/xingo [分布式]https://github.com/name5566/leaf [单服]https://github.com/liangdas/mqant 分布式https://github.com/ronow2 阅读全文
posted @ 2020-03-29 20:08 星空42 阅读(941) 评论(0) 推荐(0)
摘要:1.go mod init 初始化一个go.mod文件到当前目录, 实际上是创建了一个以当前目录为模块的mod。 如果go.mod已经有了就会报错:go源码如下: 2.go mod tidy 类似maven update, 通过这个命令下载项目依赖的第三方库,同时会去掉不相关的库。 3.go mod 阅读全文
posted @ 2019-09-01 10:28 星空42 阅读(5562) 评论(0) 推荐(0)
摘要: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",... 阅读全文
posted @ 2018-08-10 09:59 星空42 阅读(775) 评论(0) 推荐(0)
摘要:golang数据结构之List,实际中用得很少,这里只做研究。 阅读全文
posted @ 2018-08-10 09:51 星空42 阅读(3094) 评论(0) 推荐(0)
摘要: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... 阅读全文
posted @ 2018-08-09 14:19 星空42 阅读(936) 评论(0) 推荐(0)
摘要:原型模式是创建型模式的一种,其特点在于通过“复制”一个已经存在的实例来返回新的实例,而不是新建实例。被复制的实例就是我们所称的“原型”,这个原型是可定制的。原型模式多用于创建复杂的或者耗时的实例,因为这种情况下,复制一个已经存在的实例使程序运行更高效;或者创建值相等,只是命名不一样的同类数据。 一句 阅读全文
posted @ 2018-08-02 12:50 星空42 阅读(449) 评论(0) 推荐(0)
摘要:go是一门非常简洁,但很高效的语言。当我接触这门新语言的时候,我不大喜欢从头看 一门大部头的书,而是从简单的语法学习。我记得我第一次学go的时候,那时介绍go的书不多, 后来从网上下载了一本the little go book,在从杭州回武汉的火车上看完了,至今印象还是很深刻。 这对我以后理解go语 阅读全文
posted @ 2018-07-30 14:36 星空42 阅读(1355) 评论(0) 推荐(0)
摘要: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)... 阅读全文
posted @ 2018-07-30 10:11 星空42 阅读(309) 评论(0) 推荐(0)
摘要:package main import "fmt" var singleton *Singleton type Singleton struct { Count int } func GetSingleton() *Singleton { if singleton == nil { singleton = &Singleton{} return singleton } r... 阅读全文
posted @ 2018-07-30 09:50 星空42 阅读(178) 评论(0) 推荐(0)
摘要:游戏中加经验的地方很多,很多人写的很乱,我把这个功能用比较简单且清晰的方法写了下来。代码如下: package main import ( "fmt" "log" "github.com/emirpasic/gods/maps/treemap" ) func main() { exp := []int{ 20, 30, 40, 50, 70, 300, 350... 阅读全文
posted @ 2018-07-29 22:24 星空42 阅读(306) 评论(0) 推荐(0)
摘要: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 ... 阅读全文
posted @ 2018-07-29 22:03 星空42 阅读(2086) 评论(0) 推荐(0)
摘要: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[... 阅读全文
posted @ 2018-07-29 21:54 星空42 阅读(1080) 评论(0) 推荐(0)
摘要:package main import ( "fmt" "time" ) func main() { // ticker inner use chanel ticker := time.NewTicker(time.Second) for { <-ticker.C fmt.Println("tick!") } } 阅读全文
posted @ 2018-07-29 21:47 星空42 阅读(240) 评论(0) 推荐(0)
摘要: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... 阅读全文
posted @ 2018-07-29 21:42 星空42 阅读(733) 评论(0) 推荐(0)
摘要: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]... 阅读全文
posted @ 2018-07-29 21:36 星空42 阅读(810) 评论(0) 推荐(0)
摘要: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... 阅读全文
posted @ 2018-07-29 21:26 星空42 阅读(485) 评论(0) 推荐(0)
摘要:cd projecy/dir golint foldier name 阅读全文
posted @ 2018-07-28 14:26 星空42 阅读(636) 评论(0) 推荐(0)
摘要:编译golint 阅读全文
posted @ 2018-07-28 14:20 星空42 阅读(280) 评论(0) 推荐(0)