
golang
利来利往
幽默,诚实,守时,守信,适应能力强。
展开
-
go goroutine与channel详解
https://blog.youkuaiyun.com/yiweiyi329/article/details/95023638转载 2022-01-18 14:14:00 · 84 阅读 · 0 评论 -
【go】Got error “invalid character ‘ï‘ looking for beginning of value” from json.Unmarshal
用go 读取json 报错,这是编码问题 用notepad++转换成 utf-8 编码,。主义不是utf-8-bom参考原创 2021-10-09 11:55:23 · 894 阅读 · 0 评论 -
go md5应用
func (this *UserController) testMd5() { str := "helloWorld" //方法一 data := []byte(str) has := md5.Sum(data) md5str1 := fmt.Sprintf("%x", has) //将[]byte转成16进制 logger.Debug("md5str1 =%s", md5str1) //方法二 w := md5.New() io.WriteString(w, str) //将str写入.原创 2021-09-23 17:35:45 · 238 阅读 · 0 评论 -
【go】后端打包json发送给前端
package modelsimport ( "bytes" "encoding/json" "webgame/modules/logger")const ( STATE_OK uint8 = 0 //成功 STATE_FAIL uint8 = 1 //失败 ERROR_UID_EMPTY uint8 = 101 //用户ID为空 ERROR_INVALID_PARAM uint8 = 102 //参数错误 ERROR_SYSTEM_BUSY uint8 .原创 2021-08-24 11:04:02 · 926 阅读 · 0 评论 -
go生成唯一id(uuid)
# UUID package for Go language[](https://travis-ci.org/satori/go.uuid)[](https://coverall.原创 2021-08-09 11:19:06 · 2508 阅读 · 0 评论 -
Windows下go开发环境安装
安装GOLand后配置GOROOT的SDK目录https://blog.youkuaiyun.com/xrinosvip/article/details/91347104Go语言开发环境:Goland安装https://zhuanlan.zhihu.com/p/133753499golang中文网https://studygolang.com/goland设置 file/setting/go打开工程 file/open 工程文件夹编译 silf+f10检查设置 Go module proxy..原创 2021-07-14 17:47:09 · 114 阅读 · 0 评论 -
go.opentelemetry.io/otel https://blog.youkuaiyun.com/qq_37109456/article/details/107255415
string to inttonumberprint(tonumber("1234"))转载 2021-07-14 15:57:59 · 244 阅读 · 0 评论 -
go: cannot find main module
go: cannot find main module, but found XXXX to create a module there, run: cd ../.. && go mod init出错原因是开启了go mod,但是没有初使化生成go.mod文件解决方案1: 在Windows PowerShell 中输入如下命令:go env -w GO111MODULE=off解决方案2: 在项目的根目录下使用如下命令:go mod i...原创 2021-07-14 15:12:05 · 2752 阅读 · 0 评论 -
go发送邮件
package loggerimport ( "strconv" "webgame/modules/srvtime" "github.com/astaxie/beego" "gopkg.in/gomail.v2")var host = "smtp.163.com" // smtp服务hostvar port = 465 // ssl端口var user = "hjj.gemini@163.com" // 发送方邮箱var pass =.原创 2021-07-08 15:08:24 · 411 阅读 · 0 评论 -
Golang遍历文件夹
import ( "context" "encoding/json" "fmt" "io/ioutil" "webgame/modules/logger" "google.golang.org/api/androidpublisher/v3" "google.golang.org/api/option")var androidPublisherService *androidpublisher.Servicevar androidServiceMap = make(map[stri.原创 2021-06-10 15:40:44 · 746 阅读 · 0 评论 -
关于Base64一致性 https://blog.youkuaiyun.com/moxi_wang/article/details/53457286
使用math.modf(x/y),此函数,第一参数返回整数部分,第二个参数返回小数部分转载 2021-06-03 10:38:18 · 567 阅读 · 0 评论 -
go gzip 和 js gzip 一致性问题
//zip压缩func (this *UserController) DoZlibCompress(src []byte) []byte { var in bytes.Buffer w := zlib.NewWriter(&in) w.Write(src) w.Close() return in.Bytes()}//zip解压func (this *UserController) DoZlibUnCompress(compressSrc []byte) []byte { b .原创 2021-06-02 17:43:21 · 457 阅读 · 0 评论 -
Go和Node.js base64编码一致性
in := "Good afternoon, or こんにちは" buf := []byte(in) str := base64.StdEncoding.EncodeToString(buf) logger.Debug(str)原创 2021-06-02 16:09:52 · 272 阅读 · 0 评论 -
go 类型转换
string to []bytevardata=[]byte("hellw world")原创 2021-06-02 14:52:20 · 194 阅读 · 0 评论 -
go gzip压缩 | compress/gzip
func (this *UserController) test() { var buf bytes.Buffer zw := gzip.NewWriter(&buf) // Setting the Header fields is optional. zw.Name = "a-new-hope.txt" zw.Comment = "an epic space opera by George Lucas" zw.ModTime = time.Date(1977, time.May, 2.原创 2021-06-01 17:45:55 · 1227 阅读 · 1 评论 -
linux安装Go环境
wget https://dl.google.com/go/go1.10.3.linux-amd64.tar.gztar -C /usr/local -zxvf go1.10.3.linux-amd64.tar.gzvim /etc/profile// 在最后一行添加export GOROOT=/usr/local/goexport PATH=$PATH:$GOROOT/bin// wq保存退出后source一下source /etc/profile执行go version,如果现实版本号.原创 2021-05-27 14:19:35 · 121 阅读 · 1 评论 -
go 读取json
test.json{ "1": { "user_type": 1, "value_1": [1,100], "percentage": 10, "desc": "分类1" }, "2": { "user_type": 2, "value_1": [101,200], "percentage": 10, "desc": "分类1" } }原创 2021-05-24 16:55:16 · 678 阅读 · 0 评论 -
go init() 函数
大家都知道golang里的main函数是程序的入口函数,main函数返回后,程序也就结束了。golang还有另外一个特殊的函数init函数,先于main函数执行,实现包级别的一些初始化操作,今天我们就深入介绍下init的特性。init函数的主要作用:初始化不能采用初始化表达式初始化的变量。程序运行前的注册。实现sync.Once功能。init函数的主要特点:init函数先于main函数自动执行,不能被其他函数调用;init函数没有输入参数、返回值;每个包可以有多个init函数;包的每个转载 2021-05-24 16:37:55 · 191 阅读 · 0 评论 -
golang的命名大小写的问题
1、golang的命名推荐使用驼峰命名法,必须以一个字母(Unicode字母)或下划线开头,后面可以跟任意数量的字母、数字或下划线。2、golang中根据首字母的大小写来确定可以访问的权限。无论是方法名、常量、变量名还是结构体的名称,如果首字母大写,则可以被其他的包访问;如果首字母小写,则只能在本包中使用,可以简单的理解成,首字母大写是公有的,首字母小写是私有的3、结构体中属性名的大写,如果属性名小写则在数据解析(如json解析,或将结构体作为请求或访问参数)时无法解析原文链接...转载 2021-05-24 16:07:45 · 2766 阅读 · 0 评论 -
写的内容发布出去看不见
yum install -y unzip zip转载 2020-05-14 14:31:14 · 163 阅读 · 0 评论 -
go redis 排行榜实现
package rankimport ( "fmt" "webgame/models" "github.com/go-redis/redis")var rds = models.RedisClient()const rankId = "1"var zsetKey = models.GenerateKey(models.REDIS_SET_USER_RANK, rankId)// 获取排行榜列表func GetRankList(rankId string) ([]redis..原创 2021-05-08 15:02:07 · 1032 阅读 · 0 评论 -
【面试】go
1.go的协程2.go和C++传map有啥区别3.你对go语言的的特点特点1、go语言是开源的---go语言本身就是go语言编写的2、静态类型和编译型---go语言书写的程序必须通过编译生成归档文件或可执行文件,而后才能被使用或者执行3、跨平台---go语言本身支持跨平台开发,不论你是用什么样子的硬件环境还是软件环境基本上都可以进行go语言的开发(这句话有些多余,毕竟现在主流编程语言都支持不同的硬件与软件环境)4、自动垃圾回收---go语言的垃圾回收是由go语言本身去处理的,不需要人为干预,原创 2021-04-20 11:44:38 · 186 阅读 · 1 评论 -
[手游项目3]-12-Go 语言 select 语句
http://www.runoob.com/go/go-select-statement.htmlhttps://studygolang.com/articles/11186func (self *Observe) start() { if self == nil || self.roomid <= 0 { return } antnet.Go2(func(cstop c...转载 2019-03-25 17:11:15 · 187 阅读 · 0 评论 -
[手游项目3]-11-golang中的close函数
https://blog.youkuaiyun.com/butterfly5211314/article/details/81842519func (self *Observe) Over() { if self == nil || self.roomid <= 0 { return } if !atomic.CompareAndSwapInt32(&self.running, ...转载 2019-03-25 17:03:26 · 279 阅读 · 0 评论 -
[手游项目3]-10-Go语言atomic原子操作
https://studygolang.com/articles/3557func (self *Observe) Frame(frameIdx int, frames map[int]*PVPFrame) { if self == nil || self.roomid <= 0 { return } if !self.IsRunning() { return } i...原创 2019-03-25 16:51:42 · 157 阅读 · 0 评论 -
[手游项目3]-9-Go语言sync.Map(在并发环境中使用的map)
http://c.biancheng.net/view/34.html转载 2019-03-25 16:35:59 · 104 阅读 · 0 评论 -
[手游项目3]-5-游戏登录排队
游戏登录排队主要是考虑排名的性能问题,很多插入删除查询操作go的map是无序的不好做排名而数组查询效率低需要一个有序的map,有序的map可以保证先进先出,顺序不会被打乱但是名次问题需要一个的算法login_que.go 实现有序mappackage serviceimport ( "container/list" "time")var MapService = Ne...原创 2019-03-13 10:13:19 · 868 阅读 · 0 评论 -
[手游项目3]-4-goland
goland打开工程 file/open 打开工程的文件夹就好,不像vs要打开工程文件设置 file/setting/ 设置字体,设置背景色,快捷键等编译 silf+f10下载mod 命令窗口输入 go mod tidy如果下载失败,拿别人的覆盖自己的C:\Users\Administrator\go\pkg\modgo module 安装不了golang.org时的处理方式...原创 2019-03-09 13:38:41 · 163 阅读 · 0 评论 -
[手游项目3]-13-go语言的defer语句
https://www.jianshu.com/p/5b0b36f398a2https://studygolang.com/articles/10167func (self *Observe) start() { if self == nil || self.roomid <= 0 { return } antnet.Go2(func(cstop chan struct{...转载 2019-03-25 17:20:11 · 122 阅读 · 0 评论 -
[手游项目3]-14-go 的 time ticker NewTimer、NewTicker time.After
https://www.cnblogs.com/zihunqingxin/p/4755168.htmlhttps://blog.youkuaiyun.com/busai2/article/details/82503699https://www.jb51.net/article/146063.htmfunc (self *Observe) start() { if self == nil || ...转载 2019-03-25 17:41:57 · 289 阅读 · 0 评论 -
[手游项目3]-15-go 一致性哈希
https://studygolang.com/articles/13997//一致性哈希package hashimport ( "fmt" "hash/crc32" "sort" "sync")const VirtualNodesFactor = 256type node struct { key string Data interface{} ...原创 2019-03-25 17:57:06 · 158 阅读 · 0 评论 -
[手游项目3]-7-删除排序数组中的重复项的golang实现
func removeDuplicates(nums []int) int { //如果是空切片,那就返回0 if len(nums) == 0 { return 0 } //用两个标记来比较相邻位置的值 //当一样的话,那就不管继续 //当不一样的时候,就把right指向的值赋值给left下一位 left, right...转载 2019-03-23 16:40:02 · 165 阅读 · 0 评论 -
[手游项目3]-16-Go语言包之strings
https://blog.youkuaiyun.com/alvine008/article/details/51283032转载 2019-03-28 15:00:56 · 200 阅读 · 0 评论 -
[手游项目3]-20-golang向上取整、向下取整和四舍五入
一、概述官方的math 包中提供了取整的方法,向上取整math.Ceil() ,向下取整math.Floor() 二、用法package mainimport ( "fmt" "math")func main(){ x := 1.1 fmt.Println(math.Ceil(x)) // 2 fmt.Println(math.Floor(...转载 2019-04-08 18:52:00 · 3236 阅读 · 0 评论 -
[手游项目3]-18-golang中sort包用法
https://www.cnblogs.com/msnsj/p/4242578.html转载 2019-04-03 16:30:45 · 135 阅读 · 0 评论 -
[手游项目3]-19-守护进程supervisor安装与使用
https://my.oschina.net/RabbitXiao/blog/1787789自定义配置文件添加在文件最后 supervisord.conf[include]files = /etc/supervisor/conf.d/*.conf转载 2019-04-03 18:04:40 · 117 阅读 · 0 评论 -
[手游项目3]-22-golang slice 排序
package mainimport ( "fmt" "sort")/*slice 简单排序示例*/func main() { //定义一个年龄列表 ageList := []int{1, 3, 7, 7, 8, 2, 5} //排序,实现比较方法即可 sort.Slice(ageList, func(i, j int) bool...原创 2019-04-16 13:44:15 · 133 阅读 · 0 评论 -
[手游项目3]-3-golang
中文论坛c.biancheng.net/golang/intro/Go语言实战笔记(二十三)| Go 调试 https://www.flysnow.org/2017/06/07/go-in-action-go-debug.html函数functionhttps://www.cnblogs.com/skymyyang/p/7659775.htmlgolang 函数以及函数和方法的...原创 2019-02-21 11:05:50 · 280 阅读 · 0 评论