![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Golang
文章平均质量分 88
Lum1n0us
追逐梦想
展开
-
Gorm框架入门
它允许开发者通过Go语言的结构体来定义数据模型,而不必直接编写SQL语句,从而简化了与数据库的交互和操作。是一个包含了ID, CreatedAt, UpdatedAt, DeletedAt四个字段的结构体,用继承的方式来使用。创建表时,会自动将表名定义为struct名的复数,如果遇到用驼峰法命名的struct名,会用下划线连接单词。gorm框架自带的自动迁移功能使得开发者能够根据Go语言中定义的结构体自动创建或更新数据库表结构,而不必手动编写SQL语句。字段,该字段的值将会是初次创建记录的时间。原创 2023-12-04 17:06:13 · 113 阅读 · 0 评论 -
Golang中的Mysql操作
Scan() 方法负责将结果的列映射到相应的变量,并在需要时触发底层查询的执行。在调用 Scan() 之前,QueryRow() 不会执行实际的查询。执行一次查询,返回多行结果(即Rows),一般用于执行select命令。包提供了保证SQL或类SQL数据库的泛用接口,常用的数据库驱动有。获取最后插入的 ID,通常在表中有一个自增的主键时使用。获取受影响的行数,即更新操作实际影响的行数。,而是返回一个实现了 Row 接口的非空值。,它将用于保存数据库连接的实例。将当前行的数据扫描到相应的变量中。原创 2023-12-02 16:01:25 · 315 阅读 · 1 评论 -
Golang并发模型:Goroutine 与 Channel 初探
与传统的线程相比,goroutine 的创建和销毁的开销很小,可以轻松创建成千上万个 goroutine,而不会导致系统性能下降。与操作系统线程不同,goroutine 的调度是在用户空间进行的,减少了上下文切换的成本。但是,当主goroutine执行任务完成退出比子goroutine早时,程序就会直接终止,而不再等待其他的 goroutine 执行完毕。的调用,后面的代码不再执行,包括 “B” 的打印语句和 “A” 的打印语句。上面例子中的channel是一个无缓冲的,其运行的具体过程如下图所示。原创 2023-11-24 11:55:08 · 534 阅读 · 0 评论 -
Golang基础-面向对象篇
在Go中,空接口的声明形式是。Go语言(通常称为Golang)不使用传统的类(class)和继承(inheritance)的概念,而是通过结构体(struct)来实现面向对象编程的特性。现在有一个SuperMan类需要继承Human类,还有自己的level字段,并重写其中的Eat方法,还要能够写子类的新方法。空接口的特点是它可以保存任意类型的值,因为任何类型都至少实现了零个方法,因此都满足空接口的要求。Go语言中用继承是无法实现多态的,需要用接口(interface)实现,它的本质是一个指针。原创 2023-11-21 19:40:31 · 609 阅读 · 1 评论 -
Golang基础-面向过程篇
往函数中传参并在函数中修改数组的第一个元素// _表示匿名变量slice的定义方式共有四种,方式一:声明slice1是一个切片,并且初始化,默认值是1,2,3方式二:声明slice是切片,但是没有分配空间。此时如果想要赋值会报错,需要通过make来分配空间方式三:声明slice是切片,同时给slice分配空间,3个空间,初始化为0方式四:通过:=推导出是一个slice想要判断一个切片是否被分配空间,可以用nil来判断fmt.Println("slice未被初始化")} else {原创 2023-11-21 13:08:14 · 416 阅读 · 0 评论