posts - 177,comments - 14,views - 40万

随笔分类 -  go语言

1 2 下一页
go语言context包
摘要:context包是在go1.7版本中引入到标准库中的 context可以用来在goroutine之间传递上下文信息,相同的context可以传递给运行在不同goroutine中的函数,上下文对于多个goroutine同时使用是安全的 context被当作第一个参数(官方建议),并且不断透传下去,基本 阅读全文
posted @ 2023-08-18 16:57 自然洒脱 阅读(55) 评论(0) 推荐(0) 编辑
go语言通道
摘要:核心数据结构 源码runtime/chan.go/makechan Channel底层是一个先进先出的环形队列(固定大小环形数组实现) full或empty就会阻塞 send发送, recv接收并移除 sendx表示最后一次插入元素的index recvx表示最后一次接收元素的index 发送、接收 阅读全文
posted @ 2023-08-16 14:29 自然洒脱 阅读(45) 评论(0) 推荐(0) 编辑
go语言GMP模型
摘要:Robert Griesemer、Rob Pike、Ken Thompson三位Go语言创始人,对新语言商在讨论时,就决定了 要让Go语言成为面向未来的语言。当时多核CPU已经开始普及,但是众多“古老”编程语言却不能很好的 适应新的硬件进步,Go语言诞生之初就为多核CPU并行而设计。 Go语言协程中 阅读全文
posted @ 2023-08-15 15:24 自然洒脱 阅读(100) 评论(0) 推荐(0) 编辑
go语言mongodb操作
摘要:MongoDB属于非关系型数据库,它是由C++编写的分布式文档数据库。内部使用类似于Json的bson二 进制格式。 官方文档:https://www.mongodb.com/docs/drivers/go/current/fundamentals/ 相关文档:https://www.w3cscho 阅读全文
posted @ 2023-08-03 09:41 自然洒脱 阅读(482) 评论(0) 推荐(0) 编辑
go语言gorm的CRUD
摘要:插入 如果表不存在,则插入失败 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 自然洒脱 阅读(81) 评论(0) 推荐(0) 编辑
go语言gorm
摘要:ORM 对象关系映射(Object Relational Mapping,ORM)。指的是对象和关系之间的映射,使用面向对象的 方式操作数据库。 关系模型和Go对象之间的映射 table => struct ,表映射为结构体 row => object ,行映射为实例 column => prope 阅读全文
posted @ 2023-07-24 21:39 自然洒脱 阅读(95) 评论(0) 推荐(0) 编辑
go语言mysql驱动
摘要:连接数据库是典型的CS编程,服务器端被动等待客户端建立TCP连接,并在此连接上进行特定的应用层 协议。但一般用户并不需要了解这些细节,这些都被打包到了驱动库当中,只需要简单的调用打开就可以指定协议连接到指定的数据库。 数据库的种类和产品太多,协议太多,Go官方很难提供针对不同数据库的驱动程序,往往由 阅读全文
posted @ 2023-07-23 13:02 自然洒脱 阅读(104) 评论(0) 推荐(0) 编辑
go语言log相关
摘要: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 自然洒脱 阅读(132) 评论(0) 推荐(0) 编辑
go语言包管理
摘要:包 包由多个文件和目录组成 使用 package <包名> 来定义包名 包名一般都采用小写,符合标识符要求 当前目录名和 package <包名> 中的包名不需要一致,但最好保持一致 同级文件归属一个包,就是说每个包目录的当前目录中,只能统一使用同一个package的包名,否则编译出错 一般来说,开 阅读全文
posted @ 2023-07-21 10:56 自然洒脱 阅读(327) 评论(0) 推荐(0) 编辑
go语言时间相关
摘要:在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 自然洒脱 阅读(81) 评论(0) 推荐(0) 编辑
go语言序列化和反序列化
摘要:序列化需求 内存中的map、slice、array以及各种对象,如何保存到一个文件中? 如果是自己定义的结构体的实 例,如何保存到一个文件中? 如何从文件中读取数据,并让它们在内存中再次恢复成自己对应的类型的实例? 要设计一套协议,按照某种规则,把内存中数据保存到文件中。文件是一个字节序列,所以必须 阅读全文
posted @ 2023-07-10 15:29 自然洒脱 阅读(561) 评论(0) 推荐(0) 编辑
go语言的"面向对象"
摘要:面向对象定义 面向对象三要素: 封装:将属性(数据)和方法(操作)封装,提供访问控制,隐藏实现细节,暴露该暴露的 继承:子类可以从父类直接获得属性和方法,减少重复定义。子类中如果与父类不同,可以自己定 义新的属性和方法,也可以覆盖同名的属性和方法 多态:前提是继承和覆盖,使得子类中虽然使用同一个方法 阅读全文
posted @ 2023-07-05 20:09 自然洒脱 阅读(83) 评论(0) 推荐(0) 编辑
go语言结构体排序
摘要:排序接口 从接口定义来看,要实现某类型的排序 要知道有多少个元素 2个指定索引的元素怎么比较大小,索引i的元素小于索引j的值返回true,反之返回false 如何交换指定索引上的元素 那么自定义类型,要想排序,就要实现sort包中该接口。 结构体排序 假设有N个学生,学生有姓名和年龄,按照年龄排序结 阅读全文
posted @ 2023-07-05 19:53 自然洒脱 阅读(154) 评论(0) 推荐(0) 编辑
go语言异常处理
摘要:异常处理 Go的设计者认为其它语言异常处理太过消耗资源,且设计和处理复杂,导致使用者不能很好的处理错误,甚至觉得异常和错误处理起来麻烦而被忽视、忽略掉,从而导致程序崩溃。 为了解决这些问题,Go将错误处理设计的非常简单 函数调用,返回值可以返回多值,一般最后一个值可以是error接口类型的值 如果函 阅读全文
posted @ 2023-07-04 17:24 自然洒脱 阅读(30) 评论(0) 推荐(0) 编辑
go语言接口
摘要:接口定义 接口interface,和Java类似,是一组行为规范的集合,就是定义一组未实现的函数声明。谁使用接口就 是参照接口的方法定义实现它们。 type 接口名 interface { 方法1 (参数列表1) 返回值列表1 方法2 (参数列表2) 返回值列表2 ... } 接口命名习惯在接口名后 阅读全文
posted @ 2023-07-04 11:14 自然洒脱 阅读(44) 评论(0) 推荐(0) 编辑
go语言结构体(二)
摘要:匿名结构体 标识符直接使用struct部分结构体本身来作为类型,而不是使用type定义的有名字的结构体的标识符。 可以使用 var 、 const 、 := 来定义匿名结构体。 type定义结构体的标识符,可以反复定义其结构体实例,但是匿名结构体是一次性的。 匿名结构体,只是为了快速方便地得到一个结 阅读全文
posted @ 2023-07-03 16:37 自然洒脱 阅读(29) 评论(0) 推荐(0) 编辑
go语言结构体(一)
摘要:结构体 Go语言的结构体有点像面向对象语言中的“类”,但不完全是,Go语言也没打算真正实现面向对象范式。 定义 使用type定义结构体,可以把结构体看做类型使用。必须指定结构体的字段(属性)名称和类型。 type User struct { id int name, addr string // 多 阅读全文
posted @ 2023-07-03 14:23 自然洒脱 阅读(23) 评论(0) 推荐(0) 编辑
go语言递归函数及defer
摘要:递归函数 简单来说,递归就是函数自己调用自己。有2种实现方式,一种是直接在自己函数中调用自己,一种是间接在自己函数中调用的其他函数中调用了自己。 递归函数需要有边界条件、递归前进段、递归返回段 递归一定要有边界条件,当边界条件不满足时,递归前进;当边界条件满足时,递归返回 func fib(n in 阅读全文
posted @ 2023-06-27 10:11 自然洒脱 阅读(144) 评论(0) 推荐(0) 编辑
go语言函数作用域及匿名函数
摘要:作用域 函数会开辟一个局部作用域,其中定义的标识符仅能在函数之中使用,也称为标识符在函数中的可见范围。 这种对标识符约束的可见范围,称为作用域。 对外不可见、向内穿透、就近原则。 1、语句块作用域 if、for、switch等语句中定义的变量,可以认为就是该语句块的变量,作用域仅在该语句块中。if、 阅读全文
posted @ 2023-06-25 15:10 自然洒脱 阅读(85) 评论(0) 推荐(0) 编辑
go语言函数调用及原理
摘要:Go函数 由若干语句组成的语句块、函数名称、参数列表、返回值构成,它是组织代码的最小单元 完成一定的功能 函数的作用 结构化编程对代码的最基本的封装,一般按照功能组织一段代码 封装的目的为了复用,减少冗余代码 代码更加简洁美观、可读易懂 函数的分类 内建函数,如make、new、panic等 库函数 阅读全文
posted @ 2023-06-19 15:28 自然洒脱 阅读(153) 评论(0) 推荐(0) 编辑

1 2 下一页
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示