数据库(Database)狭义上是指存储数据的仓库,广义上包含对数据进行存储和管理的软件(DBMS)和数据本身.数据库由表.关系和操作组成. 一.数据库简介 1.为什么需要数据库 数据库简化了对数据的操作,几乎所有的应用软件的后台都需要数据库:且数据库存储数据占用空间小.存储安全.容易持久保存 以及 数据库容易维护.升级和移植等. 2.数据结构与数据库的区别 数据库是在应用软件级别研究对硬盘数据的存储和操作,数据结构是在系统软件级别研究对内存数据的存储和操作. 3.如何学习数据库 (1)数据库是…
目录 开篇词 | 跟着学,你也能成为Go语言高手 导读 | 写给0基础入门的Go语言学习者 导读 | 学习专栏的正确姿势 开篇词 | 跟着学,你也能成为Go语言高手 Go 语言是由 Google 出品的一门通用型计算机编程语言. Go 程序可以在装有 Windows.Linux.FreeBSD 等操作系统的服务器上运行,并用于提供基础软件支撑.API 服务.Web 服务.网页服务等等. Go 语言也在移动端进行了积极的探索,现在在 Android 和 iOS 上都可以运行其程序.另外,Go 语言…
37 | strings包与字符串操作 Go 语言不但拥有可以独立代表 Unicode 字符的类型rune,而且还有可以对字符串值进行 Unicode 字符拆分的for语句. 除此之外,标准库中的unicode包及其子包还提供了很多的函数和数据类型,可以帮助我们解析各种内容中的 Unicode 字符. 这些程序实体都很好用,也都很简单明了,而且有效地隐藏了 Unicode 编码规范中的一些复杂的细节.我就不在这里对它们进行专门的讲解了. 我们今天主要来说一说标准库中的strings代码包.这个代…
1.BP神经网络是一种前馈型网络(各神经元接受前一层的输入,并输出给下一层,没有反馈),分为input层,hide层,output层 2.BP神经网络的步骤: 1)创建一个神经网络:newff a.训练样本:归一化(premnmx ,postmnmx ,tramnmx) b.确定节点数:输出层的节点数可直接获得 c.确定各层神经元的激活函数 常见的激活函数:purelin:线性/logsig:对数S型/tansig:正切S型 d.确定训练函数 traingd :梯度下降BP训练函数/traing…
34 | 并发安全字典sync.Map (上) 我们今天再来讲一个并发安全的高级数据结构:sync.Map.众所周知,Go 语言自带的字典类型map并不是并发安全的. 前导知识:并发安全字典诞生史 换句话说,在同一时间段内,让不同 goroutine 中的代码,对同一个字典进行读写操作是不安全的.字典值本身可能会因这些操作而产生混乱,相关的程序也可能会因此发生不可预知的问题. 在sync.Map出现之前,我们如果要实现并发安全的字典,就只能自行构建.不过,这其实也不是什么麻烦事,使用 sync.…
36 | unicode与字符编码 在开始今天的内容之前,我先来做一个简单的总结. Go 语言经典知识总结 在数据类型方面有: 基于底层数组的切片: 用来传递数据的通道: 作为一等类型的函数: 可实现面向对象的结构体: 能无侵入实现的接口等. 在语法方面有: 异步编程神器go语句: 函数的最后关卡defer语句: 可做类型判断的switch语句: 多通道操作利器select语句: 非常有特色的异常处理函数panic和recover. 除了这些,我们还一起讨论了测试 Go 程序的主要方式.这涉及了…
38 | bytes包与字节串操作(上) 前导内容: bytes.Buffer基础知识 strings包和bytes包可以说是一对孪生兄弟,它们在 API 方面非常的相似.单从它们提供的函数的数量和功能上讲,差别可以说是微乎其微. 只不过,strings包主要面向的是 Unicode 字符和经过 UTF-8 编码的字符串,而bytes包面对的则主要是字节和字节切片. 我今天会主要讲bytes包中最有特色的类型Buffer.顾名思义,bytes.Buffer类型的用途主要是作为字节序列的缓冲区.…
40 | io包中的接口和工具 (上) 我们在前几篇文章中,主要讨论了strings.Builder.strings.Reader和bytes.Buffer这三个数据类型. 知识回顾 还记得吗?当时我还问过你"它们都实现了哪些接口".在我们继续讲解io包中的接口和工具之前,我先来解答一下这个问题. strings.Builder类型主要用于构建字符串,它的指针类型实现的接口有io.Writer.io.ByteWriter和fmt.Stringer.另外,它其实还实现了一个io包的包级私…
42 | bufio包中的数据类型 (上) 今天,我们来讲另一个与 I/O 操作强相关的代码包bufio.bufio是"buffered I/O"的缩写.顾名思义,这个代码包中的程序实体实现的 I/O 操作都内置了缓冲区. bufio包中的数据类型主要有: 1.Reader: 2.Scanner: 3.Writer和ReadWriter. 与io包中的数据类型类似,这些类型的值也都需要在初始化的时候,包装一个或多个简单 I/O 接口类型的值.(这里的简单 I/O 接口类型指的就是io包…
43 | bufio包中的数据类型(下) 在上一篇文章中,我提到了bufio包中的数据类型主要有Reader.Scanner.Writer和ReadWriter.并着重讲到了bufio.Reader类型与bufio.Writer类型,今天,我们继续专注bufio.Reader的内容来进行学习. 知识扩展 问题 :bufio.Reader类型读取方法有哪些不同? bufio.Reader类型拥有很多用于读取数据的指针方法,这里面有 4 个方法可以作为不同读取流程的代表,它们是:Peek.Read.…