上一页 1 2 3 4 5 6 7 8 9 ··· 18 下一页
摘要: 接口断言 因为空接口 interface{}没有定义任何函数,因此 Go 中所有类型都实现了空接口。当一个函数的形参是interface{},那么在函数中,需要对形参进行断言,从而得到它的真实类型。 语法格式: 示例代码: 断言其实还有另一种形式,就是用在利用 switch语句判断接口的类型。每一个 阅读全文
posted @ 2020-04-26 13:36 Ivy丶 阅读(1657) 评论(0) 推荐(0)
摘要: 反射reflect 一、引入 先看官方Doc中Rob Pike给出的关于反射的定义: 维基百科中的定义: 不同语言的反射模型不尽相同,有些语言还不支持反射。《Go 语言圣经》中是这样定义反射的: Go 语言提供了一种机制在运行时更新变量和检查它们的值、调用它们的方法,但是在编译时并不知道这些变量的具 阅读全文
posted @ 2020-04-26 10:10 Ivy丶 阅读(310) 评论(0) 推荐(0)
摘要: gorm 的基本使用 ×× http://gorm.book.jasperxu.com/ ×× 官方文档 安装 连接mysql gorm连接mysql依赖mysql驱动,连接前需安装mysql驱动 单独连接示例 为了确保项目的完整进行,当项目初始化的时候,我们需要确保数据库连接正常,当数据库连接出错 阅读全文
posted @ 2020-04-20 12:52 Ivy丶 阅读(964) 评论(0) 推荐(0)
摘要: 面向对象设计的SOLID原则 开放封闭原则(The Open Closed Principle) 一个软件实体如类、模块和函数应该对扩展开放,对修改代码关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展 [========] 软件实体应该是可扩展,而不可修改的。也就是说,对扩展是开放的,而对修改 阅读全文
posted @ 2020-04-14 12:14 Ivy丶 阅读(268) 评论(0) 推荐(0)
摘要: go语言channel go语言提供了goroutine来实现并发,go语言也提供了channel来实现并发事件之间的通信。 传统的编程语言通过共享内存来实现通信,当多个线程同时操作一个共享变量的时候,为了使程序达到预期的目的,可能会对变量加锁,这样就会使并发的程序等待,造成程序局部串行。而go的c 阅读全文
posted @ 2020-04-08 13:41 Ivy丶 阅读(164) 评论(0) 推荐(0)
摘要: Go语言goroutine 在别的语言里想要在一个程序中实现多任务,如python,python实现多任务可以使用多进程、多线程、携程。但多进程占用资源,多线程无法发挥多核的优势(GIL),python的协程是单线程的,必须等一个任务作出让步,另一个任务才能执行,如果其中一个任务阻塞住,让不出cpu 阅读全文
posted @ 2020-04-08 12:21 Ivy丶 阅读(215) 评论(0) 推荐(0)
摘要: go语言的接口interface go语言的interface是一种类型,它是一个或多个方法的集合,只要实现了interface中定义的方法,那么就是该interface类型 如: 假如我们定义只要会 叫的鸟都是鸭子 注意:如果gaga方法是使用 bird(指针接受者)来接受的,那么main函数中的 阅读全文
posted @ 2020-04-07 18:16 Ivy丶 阅读(137) 评论(0) 推荐(0)
摘要: go语言map go语言的map是一个key value的数据结构,它是go提供的映射关系的容器,内部使用hash实现。map是引用类型,必须初始化才能使用。 map的定义 空的map(nil)没有申请内存空间的不可以直接使用 可以使用make来声明一个申请内存的空map,此时的map可以直接被使用 阅读全文
posted @ 2020-04-07 17:30 Ivy丶 阅读(284) 评论(0) 推荐(0)
摘要: go语言切片 go语言的数组的长度是固定的,所以在某些场景下数组存在着它的局限性 go语言切片的存在就解决了数组长度局限的问题,切片可以看做一个可以自动扩容的数组,但是它跟数组还是有着区别。 切片的声明和舒适化 切片和数组 go的切片顶层指向的是数组,切片只是数组的一种引用形式。当数组的值发生了改变 阅读全文
posted @ 2020-04-06 21:27 Ivy丶 阅读(1194) 评论(0) 推荐(0)
摘要: go 语言数组 go语言的数组只能存储同一种数据类型,数组必须制定它的数据的存储类型和存储数据的长度。 声明数组 golang package main import "fmt" func main() { // 零值声明 var list1 [3]int fmt.Println(list1) // 阅读全文
posted @ 2020-04-06 20:04 Ivy丶 阅读(404) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 ··· 18 下一页