- 博客(13)
- 收藏
- 关注
原创 go-micro helloWorld demo
1、编写服务接口原型文件(proto)syntax = "proto3";package TestHello;service HelloService { rpc Hello (Hrequest) returns(Hresponse){}}message Hrequest { string name = 1;}message Hresponse{ int32 code = 1; string msg =2;}2、通过接口原型文件生成代码protoc --proto
2020-05-14 22:24:30
393
原创 go关于包的导入
go导入其他模块1、project下有 admin.go文件和start文件夹,想要在admin中导入模块start关于GOROOT 和GOPATH所遇到的各种坑1 、 package start is not in GOROOT (C:\Go\src\start)解决方案2 、$GOPATH/go.mod exists but should not...
2020-05-12 23:06:23
173
原创 go 并发
1、runtime runtime.Gosched() 让出时间片,重新等待分配func run (){ go func(){ fmt.Print(11)}() go func(){ time.sellp(time.Second)}() #主函数这个协程让出时间片 runtime.Gosched() fmt.Print(12)}runtime.Goexi...
2020-05-06 22:39:39
156
原创 延迟执行defer和错误处理
1、延迟执行defer一般用于数据库连接关闭、锁资源释放、关闭文件。多个defer,第一个最后执行(先进后出)func main(){ defer go func(){ fmt.Pringln("defer")} fmt.Println("sds")}2、错误处理func Err () { defer func () { if err:=recover();err...
2020-05-05 16:48:44
258
原创 go流程控制
1、if语句几种表达#1if Ture{}else{}#2if a:=44; a>23{}else{}2、switchswitch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上直下逐一测试,直到匹配为止。 Golang switch 分支表达式可以是任意类型,不限于常量。可省略 break,默认自动终止func swh() { va...
2020-05-05 13:55:16
120
原创 go结构体
1、结构体和类Go语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念。Go语言中通过结构体的内嵌再配合接口比面向对象具有更高的扩展性和灵活性2、定义一个结构体type Per strutc{ Name string #大写开头表示公有的 City string age int #小写表示私有,只能在定义结构体的包内访问}3、实例结构体只有当结构...
2020-04-30 17:36:29
1399
原创 go语言中的指针
go语言中指针的三个重要点:指针类型,指针地址,指针取值go语言中函数的传参都是通过值传递,如果要在改变某个变量,可以通过指向该变量的指针传递。 &(变量的指针地址), *(通过指针取变量的值)值传递var name = "撸铁怪"func this(name string) { name = "村花"}this(name)fmt.Println(name) #撸铁怪...
2020-04-30 16:22:50
155
原创 golang的基本数据类型
几种常用的数据累类型默认值说明string“”UTF-8字符串boolfalseint0array值类型struct值类型slicenil切片,引用类型mapnil引用类型channelnil管道,引用类型interfacenil接口functionnil函数在golang中...
2020-04-29 18:17:05
211
原创 golang 之new()和make()的区别
make只能用于 map、 slice、 channel 并返回的是值本身imprort "fmt"func main(){ var m = make(map [string] int) 创建一个map var s = make([]string ,3, 4) 创建一个长度为3,容量为4的slice v...
2020-04-29 15:01:00
269
原创 golang 之"_"下划线的作用
再golang中 _ 用于忽略结果,相当于占位符忽略导入包import ( "fmt" _"github.com/jmoiron/sqlx" )如上述,导入github.com/jmoiron/sqlx 不用,执行了sqlx的init初始化函数忽略循环下标func ran(){ list:=ma...
2020-04-29 14:14:24
173
原创 golang mian函数和init函数
1、mian函数为整个程序的入口函数package mainfunc main(){}2、init函数为初始化函数,每个包可以有多个init函数,顺序执行init函数,init不能被其他包引用 init再main之前自动被调用init和main都不能有形参和返回值init函数一半用于注册路由,连接数据库之类...
2020-04-29 13:57:19
294
原创 golang 占位符和fmt常见输出
1、常用的占位符 %d 整型占位符 %f 浮点型占位符 %t 布尔型占位符 %s 字符串类型占位符 %q 带引号字符串类型占位符 %p 指针型占位符 %v 通用占位符 %b 二进制 %x 十进制2、fmt...
2020-04-08 15:24:21
412
原创 golang的基础数据类型和声明
1、基础数据类型(1)、bool 两种声明方式: var b bool=True b:=False(2)、数值类型(uint 、int、float) uint8 :无符号8位整形 (2^8 0~255) int :有符号8位整形(2^8 -128~127) ...
2020-04-08 14:51:32
255
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人