go学习
fjgui
这个作者很懒,什么都没留下…
展开
-
golang json inline用法
package mainimport ( "encoding/json" "fmt")type Project struct { Key string `json:"key"` Value string `json:"value"`}type JiraHttpReqField struct { Project `json:",inline"` Summar...原创 2020-01-21 17:07:22 · 12526 阅读 · 1 评论 -
glang template使用
test.template{{. | printadd}}{{. | printupdate}}{{. | printdel}}test.gopackage mainimport ( "fmt" "html/template" "os")type TemplateInfo struct { OperateType string NewRecord str...原创 2019-02-19 12:24:31 · 263 阅读 · 0 评论 -
golang fatal error: concurrent map read and map write
go语言切片slice的线程协程安全问题一、map并发读写问题如果map由多协程同时读和写就会出现 fatal error:concurrent map read and map write的错误如下代码很容易就出现map并发读写问题func main(){c := make(map[string]int) Go func() {//开一个协程写map ...转载 2018-11-06 16:43:59 · 1308 阅读 · 0 评论 -
golang defer return执行先后顺序
Go语言中延迟函数defer充当着 cry...catch 的重任,使用起来也非常简便,然而在实际应用中,很多gopher并没有真正搞明白defer、return和返回值之间的执行顺序,从而掉进坑中,今天我们就来揭开它的神秘面纱!先来运行下面两段代码:A. 无名返回值的情况 package main import ( "fmt" ) ...转载 2018-11-06 16:42:02 · 1304 阅读 · 0 评论 -
golang reflect简单使用
C:/Go/bin/go.exe build -i [F:/Go/src/reflect]成功: 进程退出代码 0.F:/Go/src/reflect/reflect.exe [F:/Go/src/reflect]stringthis is string-------------------float643.4-------------------&{fjgui原创 2017-02-22 17:09:45 · 482 阅读 · 0 评论 -
移动场景下通信协议Json,FlatBuffers、ProtocolBuffers、MessagePack选优
写文章注册登录首页下载App移动场景下通信协议FlatBuffers、ProtocolBuffers、MessagePack选优 爱唱歌的王小猫 关注2017.04.05 19:26 字数 2828 阅读 562评论 0喜欢 2大家都知道JSON是纯文本协议,优点是可读性高,使用转载 2017-11-15 17:51:43 · 898 阅读 · 0 评论 -
日志采集系统filebeat输出到logstash配置
关于elk框架介绍参考链接:https://www.zybuluo.com/dume2007/note/665868filebeat输出到logstash(filebeat汇集日志数据到logstash)filebeat配置:/etc/filebeat/filebeat.yml修改配置filebeat.yml:- input_type: log #原创 2017-11-03 16:46:49 · 11731 阅读 · 0 评论 -
golang修改struct数组问题
struct数组修改结构体值:// 11111111 project 11111111.gopackage mainimport ( "fmt")type Bid struct { CRID string ImpID string}func main() { bid1 := Bid{ CRID: "222", ImpID: "aaa", } bid2 :原创 2017-09-26 18:27:35 · 11432 阅读 · 0 评论 -
golang DES跟base64相结合加解密
// DEStest project DEStest.go//注意base64对中文不同编码加解密结果不一样,即UTF-8跟GBKpackage mainimport ( "bytes" "crypto/cipher" "crypto/des" "encoding/base64" "fmt" "github.com/axgle/mahonia")//DES加密func原创 2017-06-19 16:41:51 · 2305 阅读 · 0 评论 -
golang生成唯一标识id
package mainimport ( "crypto/md5" "crypto/rand" "encoding/base64" "encoding/hex" "fmt" "io")//生成32位md5字串func GetMd5String(s string) string {原创 2017-03-03 11:29:10 · 18390 阅读 · 0 评论 -
golang 匿名函数用法
// http://studygolang.com/articles/3756package mainimport ( "fmt")func main() { c := func() int { fmt.Printf("func 1\n") return 555555 } fmt.Println(c原创 2017-03-15 12:26:25 · 1800 阅读 · 0 评论 -
golang grpc服务端客户端简单源码实现
协议hello.proto 文件:syntax = "proto3";package hello;message HelloRequest { string greeting = 1;}message HelloResponse { string reply = 1; repeated int32 number = 4;}原创 2017-02-16 18:32:11 · 1253 阅读 · 0 评论 -
golang中并发sync和channel
golang中实现并发非常简单,只需在需要并发的函数前面添加关键字"go",但是如何处理go并发机制中不同goroutine之间的同步与通信,golang 中提供了sync包和channel机制来解决这一问题.sync 包提供了互斥锁这类的基本的同步原语.除 Once 和 WaitGroup 之外的类型大多用于底层库的例程。更高级的同步操作通过信道与通信进行。typ转载 2016-09-03 15:45:49 · 2036 阅读 · 0 评论 -
Go tcp通信
//server端package mainimport ( "fmt" "net" "os" "strconv" "strings" "time" //"io/ioutil")func main() { service := "localhost:7777" tcpAddr, err := net.ResolveTCPAddr("tcp4", service) c原创 2016-08-11 21:37:30 · 892 阅读 · 0 评论 -
go安装步骤
解压go语言安装包tar -zxvf go1.7beta1.linux-amd64.tar.gz环境变量配置vim .bash_profileexport GOROOT=/data/gfj/go #go安装目录PATH=$PATH:$HOME/bin:$GOROOT/bin export PATHexport GOPATH=/data/gfj/gopath #go工程原创 2016-06-17 17:01:36 · 652 阅读 · 0 评论