摘要:
一、下载mysql 下载地址: mysql下载地址,选择自己需要的版本,本教程以MySQL Community Server 8.0.27版本为例。 二、解压zip安装包 下载后,软件包如下: 解压此压缩包,放在自己的安装目录下(我的安装在D:\envionment路径下),并重命名为mysql-8 阅读全文
摘要:
一.下载 官方下载地址:maven下载 下载完是一个压缩文件,如下图: 二.安装 解压maven压缩包,解压到一个没有中文,空格或其他特殊字符的路径内,我安装在D:\environment\apache-maven-3.8.3\bin(后面配置path路径要用)路径下,如下图: 三.配置(windo 阅读全文
摘要:
一、基本介绍 channle本质就是一个数据结构-队列 数据是先进先出 线程安全,多个goroutine访问时,不需要加锁,就是说channel本身就是线程安全的 channel是有类型的,一个string的channel只能存放string类型数据 二、定义/声明channel var 变量名 c 阅读全文
摘要:
一、需求 开启是个协程,计算1-10各个数的阶乘,并且把各个数的阶乘放入到map中,最后显示出来 二、代码实现 package main import ( "fmt" "time" ) var myMap = make(map[int]int, 10) func test(n int) { res 阅读全文
摘要:
一、进程和线程说明 进程就是程序在操作系统中的一次执行过程,是系统进行资源分配和调度的基本单位 线程是进程的一个执行实例,是程序执行的最小单位,他是比进程更小的能独立运行的基本单位 一个进程可以创建和销毁多个线程,同一个进程中的多个线程可以并发执行 一个程序至少有一个进程,一个进程至少有一个线程 二 阅读全文
摘要:
一、第一种 package main import ( "fmt" ) func main() { var a float32 = 3.14 var x interface{} x = a b, ok := x.(float32) if ok { fmt.Printf("类型断言成功,b类型为%T\ 阅读全文
摘要:
一、基本介绍 实例具有多种形态。面向对象的三大特性,在GO语言中,多态的特征通过接口实现的,可以按照统一的接口来调用不同的实现,这时接口变量就是不同的形态. package main import ( "fmt" ) type Usb interface { Start() Stop() } typ 阅读全文
摘要:
1. 接口和继承解决的问题不同 继承的价值主要在于:解决代码的复用性和可维护性 接口的价值主要在于:设计,设计各种规范(方法),让其他自定义类型去实现这些方法 2. 接口比继承更加灵活 接口比继承更加灵活,继承满足is-a的关系,而接口只需要满足like-a的关系 3. 接口在一定程度上实现了代码解 阅读全文
摘要:
一、基本介绍 interfance类型可以定义一组方法,但是这些不需要实现,并且interface不能包含任何变量,到某个自定义类型要使用时,在根据具体情况把这些方法写出来 二、基本语法 type 接口名 interfance{ method1(参数列表)返回值列表 method2(参数列表)返回值 阅读全文
摘要:
封装就是将抽象出来的字段和对字段的操作封装在一起,数据被保护在内部,程序的其他包只有通过授权的操作(方法),才能对字段进行操作。现实中对电视机的操作就是典型的封装。 1. 实现封装的步骤 将结构体、字段(属性)的首字母小写(不能导出,其他包不能使用,类似private) 给结构体所在的包提供一个工厂 阅读全文