Lepeng 的 blog
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于

11-面向对象之三大特性

1、面向对象三大特性1.1、封装封装:把抽象出的字段和对字段的操作封装在一起,数据被保护在内部,程序的其它包只有通过被授权的操作(方法),才能对字段进行修改,其作用有: 隐藏实现细节 可以对数据进行验证,保证安全合理 Go 对面向对象做了极大简化,并不强调封装特性,下列示例进行模拟实现: 在 person 包下新建 person.go 文件: 1234567891011121314151617
2024-12-02
Go
#Go

11-面向对象之构造函数与方法

1、面向对象初识1.1、模拟构造函数Go 和传统的面向对象语言如 Java 有着很大区别。结构体没有构造函数初始化功能,可以通过以下方式模拟: 123456789101112131415161718192021type Person struct { Name string Age int}func NewPersonByName(name string) *Person &#
2024-12-02
Go
#Go

12-面向对象之接口的使用

1、接口 interface接口是调用方和实现方均需要遵守的一种约束,约束开发者按照统一的方法命名、参数类型、数量来处理具体业务。实际上,接口就是一组没有实现的方法声明,到某个自定义类型要使用该方法时,根据具体情况把这些方法实现出来。接口语法: 12345type 接口类型名 interface { 方法名1(参数列表) 返回值列表 方法名2(参数列表) 返回值列表 ...}
2024-12-02
Go
#Go

12-面向对象之断言与多态

1、断言接口是编程的规范,他也可以作为函数的参数,以让函数更具备适用性。在下列示例中,有三个接口动物接口、飞翔接口、游泳接口,两个实现类鸟类与鱼类: 鸟类:实现了动物接口,飞翔接口 鱼类:实现了动物接口,游泳接口 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
2024-12-02
Go
#Go

13-泛型简解

1、泛型泛型是一种独立于所使用的特定类型的编写代码的方法。使用泛型可以编写出适用于一组类型中的任何一种的函数和类型。 2、泛型的语法Go 语言不是主流的面向对象,泛型支持上也有所区别,如Java一切皆为对象,只要确定对象泛型即可统一的泛型模式。Go的每种类型都有区别,可简单分为两类, 类型泛型:切片泛型、哈希泛型、结构体泛型、基础类型泛型等; 函数泛型:函数泛型、方法泛型等。 另外泛型语法不是
2024-12-02
Go
#Go

13-泛型详解(转载)

序2022年3月15日,争议非常大但同时也备受期待的泛型终于伴随着 Go1.18 发布了。 1、一切从函数的形参和实参说起假设我们有个计算两数之和的函数 123func Add(a int, b int) int { return a + b} 这个函数很简单,但是它有个问题——无法计算int类型之外的和。如果我们想计算浮点或者字符串的和该怎么办?解决办法之一就是像下面
2024-12-02
Go
#Go

Go 保留字之 iota

iota关键字 iota 声明初始值为0,每行递增 1。 123456789101112131415161718const ( a = iota // 0 b = iota // 1 c = iota // 2)const ( d = iota // 0 e // 1
2024-12-01
Go > Go 关键字
#Go #Go 关键字

Go 关键字之 import

作用Go 中 import 用于导入包。导入之后就可以使用包中的代码。 用法1234567891011import ( // _ 匿名导包,导入但是不使用,不会报错。(默认情况下 Go 如果导包了而不使用,会报错) // Go 在引入包时会调用包的 init 方法。所以使用 _ 操作,主要是为了使用包的 init 函数,一般用在数据库方面的包中 _ "GolangStudy/5_init/lib1
2024-12-01
Go > Go 关键字
#Go #Go 关键字

Go 关键字之 select

select作用Go 里面提供了一个关键字 select,通过 select 可以监听 channel 上的数据流动。 有时候我们希望能够借助 channel 发送或接收数据,并避免因为发送或者接收导致的阻塞,尤其是当 channel 没有准备好写或者读时。select 语句就可以实现这样的功能。 select 的用法与 switch 语言非常类似,由 select 开始一个新的选择块,每个选择条
2024-12-01
Go
#Go

Go 关键字之 var

简介在 Go 中,var 关键字用于声明变量。通过使用 var,你可以定义一个或多个变量的类型和初始值。 Go 语言支持多种变量声明的语法,每种语法都有其特定的用途和适用场景。 语法1var 变量名 [类型] [=] [初始值] 示例12345678910111213141516171819202122// 单个变量声明并初始化var name string = "John"// 单个变量声明,
2024-12-01
Go > Go 关键字
#Go #Go 关键字

Go 关键字之介绍

1、关键字关键字即是被 Go 赋予了特殊含义的单词。 Go 一共有 25 个关键字: 12345break default func interface selectcase defer go map structchan else goto
2024-12-01
Go > Go 关键字
#Go #Go 关键字

Goland setting

Go GOROOT:Go 安装路径 GOPATH:全局的 GOPATH 路径和本项目的 GOPATH 路径 默认和 go env 中 GOPATH 变量相同 GO Modules: IDEA 执行 go list -m -json 来解决项目的依赖关系并扫描 $GOPATH/pkg/mod 目录(GOMODCACHE 的默认值)查找包。如果它们不存在,IDEA 会执行 go mod downl
2024-11-22
Go
#Go

Goland 修改变量,全局同步修改

在 GoLand 中,当你修改一个变量的名称时,所有引用该变量的地方也会自动更新。这是因为 GoLand 支持内置的重构功能,包括重命名(Rename)。 步骤: 将光标置于变量名称上。 按下 Shift+F6(Mac 是 Cmd + F6),或者右击,选择菜单栏中的 Refactor->Rename。 在弹出的重命名对话框中输入新的变量名称。 检查预览窗口中的更改,确保它们都是你想
2024-11-22
Go
#Go

01-快速开始

1. GORM 中文文档参考链接 Golang写的,开发人员友好的ORM库。 1.1. 概述 全功能ORM(几乎) 关联(包含一个,包含多个,属于,多对多,多种包含) Callbacks(创建/保存/更新/删除/查找之前/之后) 预加载(急加载) 事务 复合主键 SQL Builder 自动迁移 日志 可扩展,编写基于GORM回调的插件 每个功能都
2024-11-15
Go
#Go

02-数据库

1. 数据库1.1. 连接数据库要连接到数据库首先要导入驱动程序。例如 1import _ "github.com/go-sql-driver/mysql" 为了方便记住导入路径,GORM包装了一些驱动。 1234import _ "github.com/jinzhu/gorm/dialects/mysql"// import _ "github.com/jinzhu/gorm/dialects/
2024-11-15
Go
#Go

03-模型

1. 模型1.1. 模型定义123456789101112131415161718192021222324252627282930313233343536373839404142434445type User struct { gorm.Model Birthday time.Time Age int Name strin
2024-11-15
Go
#Go

04-CRUD读写数据

1 CRUD:读写数据1.1. 创建1.1.1. 创建记录1234567user := User{Name: "Jinzhu", Age: 18, Birthday: time.Now()}db.NewRecord(user) // => 主键为空返回`true`db.Create(&user)db.NewRecord(user) // => 创建`user
2024-11-15
Go
#Go

05-Callbacks

1. Callbacks您可以将回调方法定义为模型结构的指针,在创建,更新,查询,删除时将被调用,如果任何回调返回错误,gorm将停止未来操作并回滚所有更改。 1.1. 创建对象创建过程中可用的回调 1234567891011// begin transaction 开始事务BeforeSaveBeforeCreate// save before associations 保存前关联// upda
2024-11-15
Go
#Go

06-高级用法

1. 高级用法1.1. 错误处理执行任何操作后,如果发生任何错误,GORM将其设置为*DB的Error字段 12345678910111213if err := db.Where("name = ?", "jinzhu").First(&user).Error; err != nil { // 错误处理...}// 如果有多个错误发生,用`GetErrors`获取
2024-11-15
Go
#Go

07-开发

1. 开发1.1. 架构Gorm使用可链接的API,*gorm.DB是链的桥梁,对于每个链API,它将创建一个新的关系。 1234567891011121314db, err := gorm.Open("postgres", "user=gorm dbname=gorm sslmode=disable")// 创建新关系db = db.Where("name = ?", "jinzhu")// 过
2024-11-15
Go
#Go
1…678910…61

搜索

Hexo Fluid
总访问量 次 总访客数 人