摘要: context包是在go1.7版本中引入到标准库中的 context可以用来在goroutine之间传递上下文信息,相同的context可以传递给运行在不同goroutine中的函数,上下文对于多个goroutine同时使用是安全的 context被当作第一个参数(官方建议),并且不断透传下去,基本 阅读全文
posted @ 2023-08-18 16:57 自然洒脱 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 核心数据结构 源码runtime/chan.go/makechan Channel底层是一个先进先出的环形队列(固定大小环形数组实现) full或empty就会阻塞 send发送, recv接收并移除 sendx表示最后一次插入元素的index recvx表示最后一次接收元素的index 发送、接收 阅读全文
posted @ 2023-08-16 14:29 自然洒脱 阅读(35) 评论(0) 推荐(0) 编辑
摘要: Robert Griesemer、Rob Pike、Ken Thompson三位Go语言创始人,对新语言商在讨论时,就决定了 要让Go语言成为面向未来的语言。当时多核CPU已经开始普及,但是众多“古老”编程语言却不能很好的 适应新的硬件进步,Go语言诞生之初就为多核CPU并行而设计。 Go语言协程中 阅读全文
posted @ 2023-08-15 15:24 自然洒脱 阅读(85) 评论(0) 推荐(0) 编辑
摘要: MongoDB属于非关系型数据库,它是由C++编写的分布式文档数据库。内部使用类似于Json的bson二 进制格式。 官方文档:https://www.mongodb.com/docs/drivers/go/current/fundamentals/ 相关文档:https://www.w3cscho 阅读全文
posted @ 2023-08-03 09:41 自然洒脱 阅读(441) 评论(0) 推荐(0) 编辑
摘要: 插入 如果表不存在,则插入失败 type Student struct { ID int // 缺省主键bigint AUTO_INCREMENT Name string `gorm:"size:48"` //`gorm:"not null;type:varchar(48);comment:姓名"` 阅读全文
posted @ 2023-07-26 18:30 自然洒脱 阅读(68) 评论(0) 推荐(0) 编辑
摘要: ORM 对象关系映射(Object Relational Mapping,ORM)。指的是对象和关系之间的映射,使用面向对象的 方式操作数据库。 关系模型和Go对象之间的映射 table => struct ,表映射为结构体 row => object ,行映射为实例 column => prope 阅读全文
posted @ 2023-07-24 21:39 自然洒脱 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 连接数据库是典型的CS编程,服务器端被动等待客户端建立TCP连接,并在此连接上进行特定的应用层 协议。但一般用户并不需要了解这些细节,这些都被打包到了驱动库当中,只需要简单的调用打开就可以指定协议连接到指定的数据库。 数据库的种类和产品太多,协议太多,Go官方很难提供针对不同数据库的驱动程序,往往由 阅读全文
posted @ 2023-07-23 13:02 自然洒脱 阅读(96) 评论(0) 推荐(0) 编辑
摘要: log包 Go标准库中有log包,提供了简单的日志功能。 输出 格式输出 换行输出 解释 log.Print() log.Printf() log.Println() 类似fmt.Print* log.Fatal() log.Fatalf() log.Fatalln() 相当于log.Print* 阅读全文
posted @ 2023-07-21 17:59 自然洒脱 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 包 包由多个文件和目录组成 使用 package <包名> 来定义包名 包名一般都采用小写,符合标识符要求 当前目录名和 package <包名> 中的包名不需要一致,但最好保持一致 同级文件归属一个包,就是说每个包目录的当前目录中,只能统一使用同一个package的包名,否则编译出错 一般来说,开 阅读全文
posted @ 2023-07-21 10:56 自然洒脱 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 在Go语言中,时间定义为Time结构体。 var t = time.Now() fmt.Printf("%T\n", t) // time.Time fmt.Printf("%v %+[1]v\n", t) // 2022-10-06 19:35:00.1963422 +0800 CST m=+0. 阅读全文
posted @ 2023-07-10 20:27 自然洒脱 阅读(64) 评论(0) 推荐(0) 编辑