Golang
NoOne-csdn
永远年轻,永远热泪盈眶
展开
-
Golang 数组
数组特点长度固定类型相同连续块,内存连续分布(容易计算索引)内置类型或者结构类型计算速度快使用效率高声明和初始化声明时需要说明数据类型和数量一旦声明后,类型和数量都不会变如需要更长的数组,新建数组,原数组复制到新数组数组初始化为对应类型的零值声明数组var array [5]int声明并初始化数组array:=[5] int{10,20,40,40,...原创 2020-05-06 21:36:03 · 218 阅读 · 0 评论 -
Golang Map
MAP是一种无序的键值对的集合。创建和初始化使用make 声明映射//创建一个映射,键的类型是string值的类型是 intdict:=make(map[string]int)//创建一个映射,并初始化apple:=map[string]string{ "durian":"榴莲","haw":"山楂","date":"枣", } fmt.Println(apple)m...原创 2020-05-06 20:28:05 · 2936 阅读 · 0 评论 -
golang 反射机制
转载参考地址如下Go语言反射reflectGolang的反射reflect深入理解和示例反射反射是指程序运行期对程序本身进行访问和修改的能力。即能够自描述和自控制。也就是说,这类应用通过采用某种机制来实现对自己行为的描述(self-representation)和监测(examination),并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。支持反射的语言...转载 2020-05-06 19:02:31 · 241 阅读 · 0 评论 -
gin必知必会(更新ing)
获取post请求所有参数res:=c.Request.URL.Query()fmt.Println(res)返回的是一个MAP原创 2019-12-25 13:42:23 · 146 阅读 · 0 评论 -
gorm mysql JSON精确查询
byt:=[]byte(SearchContent) var dat map[string]interface{} if err := json.Unmarshal(byt, &dat); err != nil { } for k,v:=range dat{ str:="JSON_EXTRACT(content,'$."+k+"')=(?)" db=db....原创 2019-08-27 14:36:09 · 3410 阅读 · 0 评论 -
golang sync包
参考package syncsync 的typetype LockerLocker 接口代表一个可以加锁和解锁的对象type Locker interface { Lock() Unlock()}type OnceOnce是只执行一次动作的对象type Once struct { m Mutex done uint32}func(o *Once) Do(...原创 2019-08-12 12:27:53 · 250 阅读 · 0 评论 -
Golang 计算程序运行时间
原文来自这method 1 利用deferfunc elapsed(what string) func() { start := time.Now() return func() { fmt.Printf("%s took %v\n", what, time.Since(start)) // fmt.Println(time.Now().Sub(now))...原创 2019-07-22 14:42:14 · 2447 阅读 · 0 评论 -
golang net/url
URL 语法URL提供了一种定位因特网上任意资源的手段,但这些资源是可以通过各种不同的方案(比如HTTP、FTP、SMTP)来访问,因此URL语法会随着方案的不同而不同。<schema>://<user>:<password>@<host>:<port>/<path>:<params>?<query>...原创 2019-07-30 10:33:38 · 1268 阅读 · 0 评论 -
Gorm笔记
导入包import ( _ "github.com/go-sql-driver/mysql" "github.com/jinzhu/gorm")连接mysqldb,err:=gorm.Open("mysql","account:pwd@tcp(host:port)/db?charset=utf8")禁用复数形式db.SingularTable(true)为表名添加前缀go...原创 2019-07-12 15:50:59 · 2767 阅读 · 0 评论 -
GO 笔记
rune官方定义等同于int32,主要来区分字符串值和整数值// rune is an alias for int32 and is equivalent to int32 in all ways. It is// used, by convention, to distinguish character values from integer values.type rune = in...原创 2019-07-15 09:32:38 · 148 阅读 · 0 评论 -
gin 报错unsupported Scan, storing driver.Value type []uint8 into type *time.Time
背景:报错:[2019-06-20 17:46:55] sql: Scan error on column index 5, name "last_time": unsupported Scan, storing driver.Value type []uint8 into type *time.Time 源码:模型type Bigdata_Task_Project struct ...原创 2019-06-20 17:51:41 · 8796 阅读 · 1 评论 -
golang格式化字符串
[一般]%v 相应值的默认格式。在打印结构体时,“加号”标记(%+v)会添加字段名%#v 相应值的 Go 语法表示%T 相应值的类型的 Go 语法表示%% 字面上的百分号,并非值的占位符[布尔]%t 单词 true 或 false。[整数]%b 二进制表示%c 相应 Unicode 码点所表示的字符%d 十进制表示%o 八进制表示%q 单引号围绕的字符字面值,由 Go 语法...转载 2019-06-04 14:24:16 · 9720 阅读 · 0 评论 -
golang空标识符 -
package mainimport ( "fmt" _ "github.com/go-sql-driver/mysql" "github.com/golang/protobuf/proto" "math")func main() { for _,j :=range"I LOVE 夏天"{ fmt.Println(string(j)) //fmt.Println(...转载 2019-06-06 10:37:26 · 170 阅读 · 0 评论 -
golang 结构体标签 struct tag
Golang 可以为结构体的字段添加 tag,类似注释,用反引号``例:const tagName = "validate"type employee struct { ID int `json:"id"` Name string `json:"名字" validate:"presence,min=2,max=40"` Age int `json:"...原创 2019-06-06 10:17:57 · 7429 阅读 · 0 评论 -
Golang 方法 method
方法能给用户的类型添加新的行为。实际上也是函数,只是在声明时,在关键字func和方法名之间增加了一个参数//展示如何声明并使用方法package mainimport "fmt"//user 在程序里定义了一个用户类型type user struct { name string email string}//notify 使用值接收者实现了一个方法/...翻译 2019-03-11 16:44:18 · 364 阅读 · 0 评论 -
golang 竞争状态
代码参考Go 语言实战 GO INACTION//竞争状态;如果两个或者多个goroutine 在没有互相同步的情况下访问某个共享的资源,并试图读写这个资源,就处于相互竞争的状态,这种情况称作竞争状态package mainimport ( "fmt" "runtime" "sync")var( counter int wg sync.WaitGro...原创 2018-09-29 17:17:11 · 240 阅读 · 0 评论 -
我的第一个Golang程序
本程序参考:GO语言实战 GO IN ACTIONpackage mainimport ( "fmt" "runtime" "sync")func main(){ //分配一个逻辑处理器给调度器使用 runtime.GOMAXPROCS(1) //wg来等待程序完成 //计数加2,表示要等待两个goroutine var wg s...原创 2018-09-29 15:22:51 · 1027 阅读 · 0 评论