自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 go 中 = 与:= 区别

“=”的使用与其他语言相同,赋值操作,但是此处的变量必须提前声明好类型,或者在声明的同时赋值。“:=”的使用则类似于c++中的auto操作,自动匹配变量类型,省去了声明变量类型操作,也就是你可以不声明,在赋值使用的时候多加个冒号就可以了。package mainimport "fmt"func main(){ var a int a =10 fmt.Print(a)}结果如下:然后我们直接赋值试一试:package mainimport "fmt"func main(){ /

2021-04-05 14:04:46 708

原创 go - 构造复杂json串

例如在go中构造如下json串{"name":"alpha", "sex":"男", "age":18,"grade":{"gname":"wegame", "gdesc":"qq" } }在如下网址中输入以上json串可以自动生成对应的结构体https://mholt.github.io/json-to-go/type Autogenerated struct { Name string `json:"name"` Sex string

2021-04-05 03:25:51 840

原创 go -json 转map并判断是否存在

package mainimport ( "encoding/json" "fmt")//检查map里面是否存在某个key,返回字符串func mapExist(m map[string]interface{}, key string) string { if _, ok := m[key]; ok { return fmt.Sprintf("%v",m[key]) } else { return "" }}//解析json字符串成 mapfunc jsonStrin.

2021-04-04 23:54:27 772

原创 go - 发布订阅模型

// 3.5 发布订阅模型package mainimport ( "fmt" "strings" "sync" "time")type ( subscriber chan interface{} // 订阅者为一个通道 topicFunc func(v interface{}) bool // 主题为一个过滤器)// 发布者对象type Publisher struct { m sync.RWMutex //读

2021-04-04 23:32:12 148

原创 go -context

package mainimport ( "context" "fmt" "time")func main() { ctx, cancel1 := context.WithCancel(context.Background()) go func(ctx context.Context) { for { select { case v := <-ctx.Done(): fmt.Println("监控退出,停止了..., v: ", v, ", err:", c

2021-04-04 23:31:11 64

原创 go - struct

// 1.4 struct匿名成员(字段、属性)package mainimport "fmt"type Person struct { Name string Age int}type Student struct { score string Age int Person // 匿名内嵌结构体}func main() { var stu = new(Student) stu.Age = 22 //优先选择Stu

2021-04-04 23:30:03 66

原创 go - reflect

package mainimport ( "fmt" "reflect")func main() { str := "darren" val := reflect.ValueOf(str).Kind() fmt.Println(val) //string}

2021-04-04 23:28:37 70

原创 go - const

package mainimport ( "fmt" "time")const ( Man = 1 Female = 2)func main() { for { second := time.Now().Unix() if second%Female == 0 { fmt.Println("female") } else { fmt.Println("man") } time.Sleep(1000 * time.Millisecond) }

2021-04-04 23:27:13 63

原创 go -生成pb文件 -下

文件目录package mainimport ( "fmt" "github.com/golang/protobuf/proto" "test/mypro" //引入的proto的包 , go语言中,一个目录里面的所有文件都应设置成一个包)func main() { s1 := &mypro.Student{} //第一个学生信息 s1.Name = "jz01" s1.Age = 23 s1.Address = "cq"

2021-04-04 23:22:35 451

原创 go - str - byte

package mainimport ( "fmt" "strings" "unsafe" _ "unsafe")func test1() { bytes := []byte("I am byte array !") str := string(bytes) bytes[0] = 'i' //注意这一行,bytes在这里修改了数据,但是str打印出来的依然没变化, fmt.Println(str)}func test2() { bytes := []byte("I am by

2021-04-04 23:19:48 124

原创 go -生成pb文件 - 上

在使用 protoc 工具生成 go 代码的时候报出的如下错误:在syntax = “proto3”; //版本号版本中字段默认为syntax = “proto3”; //版本号protoc ./test.proto --go_out=./ WARNING: Missing 'go_package' option in "message.proto",please specify it with the full Go package path asa future release of pr

2021-04-04 03:16:25 1546

原创 go - range

package mainimport ( "fmt")func main() { str := "hello world,中国" for i, v := range str { fmt.Printf("index[%d] val[%c]\n", i, v) }}

2021-04-03 23:18:00 59

原创 go - random

package mainimport ( "fmt" "math/rand" "time")func init() { rand.Seed(time.Now().UnixNano())}func main() { for i := 0; i < 10; i++ { a := rand.Int() fmt.Println(a) } for i := 0; i < 10; i++ { a := rand.Intn(100) fmt.Println(a

2021-04-03 23:17:17 127

原创 go - pointer - ptr

package mainimport "fmt"func modify(p *int) { fmt.Println(p) *p = 1000900 return}func main() { var a int = 10 fmt.Println(&a) var p *int p = &a fmt.Println("the address of p:", &p) fmt.Println("the value of p:", p) fmt.Prin

2021-04-03 23:16:45 75

原创 go -func

package mainimport "fmt"func add(a, b int) int { return a + b}func test() { return}func main() { c := add sum := c(200, 300) fmt.Println(sum) str := "hello, world,中国" for index, val := range str { fmt.Printf("index[%d] val[%c] len[%d]

2021-04-03 23:16:14 74

原创 go -switch-fallthrough

package mainimport ( "fmt")func test_switch1() { a := 2 switch a { case 1: fmt.Println("a=1") case 2: fmt.Println("a=2") case 3: fmt.Println("a=3") case 4: fmt.Println("a=4") default: fmt.Println("default") }}func test_switch2()

2021-04-03 23:15:46 87

原创 go - const

package mainimport ( "fmt" "time")const ( Man = 1 Female = 2)func main() { for { second := time.Now().Unix() if second%Female == 0 { fmt.Println("female") } else { fmt.Println("man") } time.Sleep(1000 * time.Millisecond) }

2021-04-03 23:15:07 57

原创 go - interface

package main/**/import "fmt"//只要实现了speak方法的变量就是speak类型type speak interface { speak()}type cat struct {}type dog struct {}type person1 struct {}func (C cat) speak(){ fmt.Println("cat 抓人")}func (D dog) speak(){ fmt.Println("狗咬人")}func (P pe

2021-04-03 23:13:14 64

原创 go - json -struct

go - json -structgo - json -structgo - json -structgo - json -structgo - json -structgo - json -struct

2021-04-03 23:00:23 118

原创 go - slice

go - slicego - slicego - slicego - slice

2021-04-03 22:59:50 67

原创 go - map

go语言map

2021-04-03 22:59:19 88

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除