随笔分类 -  Go

摘要:事务是数据库的一个非常重要的特性,尤其对于银行,支付系统,等等。database/sql提供了事务处理的功能。通过Tx对象实现。db.Begin会创建tx对象,后者的Exec和Query执行事务的数据库操作,最后在tx的Commit和Rollback中完成数据库事务的提交和回滚,同时释放连接。 tx 阅读全文
posted @ 2018-03-08 22:28 fan-tastic 阅读(1148) 评论(0) 推荐(0) 编辑
摘要:在上一篇文章中主要整理了Golang连接mysql以及一些基本的操作,并进行了大概介绍,这篇文章对增删查改进行详细的整理 读取数据 在上一篇文章中整理查询数据的时候,使用了Query的方法查询,其实database/sql还提供了QueryRow方法查询数据,就像之前说的database/sql连 阅读全文
posted @ 2018-03-05 21:40 fan-tastic 阅读(3687) 评论(0) 推荐(0) 编辑
摘要:关于标准库database/sql database/sql是golang的标准库之一,它提供了一系列接口方法,用于访问关系数据库。它并不会提供数据库特有的方法,那些特有的方法交给数据库驱动去实现。 database/sql库提供了一些type。这些类型对掌握它的用法非常重要。 DB数据库对象。 s 阅读全文
posted @ 2018-03-05 15:20 fan-tastic 阅读(6843) 评论(0) 推荐(2) 编辑
摘要:排序操作主要都在sort包中,导入就可以使用了import("sort") 常用的操作 sort.Ints:对整数进行排序sort.Strings:对字符串进行排序sort.Float64s:对浮点数进行排序 使用例子: 同样还有以下几个常用的查找操作 sort.SearchInts(a[]int, 阅读全文
posted @ 2018-02-19 19:20 fan-tastic 阅读(882) 评论(0) 推荐(0) 编辑
摘要:定义 在Go语言中,一个类只要实现了接口要求的所有函数,我们就说这个类实现了该接口 interface类型可以定义一组方法,用来表示一个对象的行为特征,interface不能包含任何变量,接口是引用类型。 举个简单的例子,一个动物的接口,动物有吃的能力,有叫的能力,等等,这里省略,假如动物就只有吃和 阅读全文
posted @ 2018-02-12 21:35 fan-tastic 阅读(1148) 评论(0) 推荐(1) 编辑
摘要:goroutine 在go语言中,每一个并发的执行单元叫做一个goroutine 这里说到并发,所以先解释一下并发和并行的概念: 并发:逻辑上具备同时处理多个任务的能力 并行:物理上在同一时刻执行多个并发任务 当一个程序启动时,其主函数即在一个单独的goroutine中运行,一般这个goroutin 阅读全文
posted @ 2018-02-03 00:28 fan-tastic 阅读(1837) 评论(0) 推荐(2) 编辑
摘要:终端操作 操作终端相关的文件句柄常量os.Stdin:标准输入os.Stdout:标准输出os.Stderr:标准错误输出 关于终端操作的代码例子: 关于带缓冲区的读写 这里需要用到一个包:bufio 下面是代码例子: 练习终端操作 从终端读取一行字符串,统计英文,数字,空格以及其他字符的数量代码实 阅读全文
posted @ 2018-01-15 00:51 fan-tastic 阅读(951) 评论(0) 推荐(0) 编辑
摘要:结构体的定义 结构体是将零个或者多个任意类型的命令变量组合在一起的聚合数据类型。每个变量都叫做结构体的成员。 其实简单理解,Go语言的结构体struct和其他语言的类class有相等的地位,但是GO语言放弃了包括继承在内的大量面向对象的特性,只保留了组合这个基础的特性。所有的Go语言类型除了指针类型 阅读全文
posted @ 2018-01-08 19:28 fan-tastic 阅读(1132) 评论(0) 推荐(0) 编辑
摘要:在整理函数之前先整理一下关于指针 指针 普通类型变量存的就是值,也叫值类型。指针类型存的是地址,即指针的值是一个变量的地址。一个指针指示值所保存的位置,不是所有的值都有地址,但是所有的变量都有。使用指针可以在无序知道变量名字的情况下,间接读取或更新变量的值。 获取变量的地址,用&,例如:var a 阅读全文
posted @ 2017-12-28 01:06 fan-tastic 阅读(2961) 评论(0) 推荐(0) 编辑
摘要:数组 数组的定义: 数组是具有固定长度并拥有零个或者多个相同数据类型元素的序列 定义一个数组的方法:var 变量名[len] type 例子:var a[5] int //3个整数的数组var a[5]string //3个字符串的数组 像上面这种定义方法,我们是指定了数组的长度,但是还有如下定义方 阅读全文
posted @ 2017-12-13 00:47 fan-tastic 阅读(1253) 评论(0) 推荐(0) 编辑
摘要:之前一直忽略的就是所有语言中关于位操作,觉得用处并不多,可能用到也非常简单的用法,但是其实一直忽略的是它们的用处还是非常大的,下面先回顾一下位操作符的基础 位操作符 与操作:&1 & 1 = 11 & 0 = 00 & 1 = 00 & 0 = 0 或操作:!1 | 1 = 11 | 0 = 10 阅读全文
posted @ 2017-12-04 23:35 fan-tastic 阅读(1068) 评论(1) 推荐(1) 编辑
摘要:注意:该演示环境是windows环境,linux和mac环境操作思路一样 vscode中有很多go的相关插件,非常好用如下:gocodegopkgsgo-outlinego-symbolsgurugorenamegomodifytagsgoplayimplgodefgoreturnsgolintgo 阅读全文
posted @ 2017-12-01 12:58 fan-tastic 阅读(2647) 评论(2) 推荐(0) 编辑
摘要:我们接下来一个一个来看关于Go语言中的三个目录的详细解释先通过go env查看go的环境变量(我这里是mac的环境,所以可能和你的不同) GOROOT 其实就是golang 的安装路径当你安装好golang之后其实这个就已经有了 GOPATH go命令依赖的一个重要环境变量:$GOPATH 其实可以 阅读全文
posted @ 2017-11-27 23:33 fan-tastic 阅读(65747) 评论(3) 推荐(5) 编辑
摘要:一、strings和strconv的使用 strings strings.HasPrefix(s string,preffix string) bool:判断字符串s是否以prefix开头 stirngs.HasSuffix(s string,suffix string) bool:判断字符串s是否 阅读全文
posted @ 2017-06-24 01:02 fan-tastic 阅读(1749) 评论(0) 推荐(0) 编辑
摘要:一、文件名&关键字&标识符 所有go源码都是以.go结尾 标识符以字母或下划线开头,大小写敏感 下划线_是特殊标识符,用户忽略结果 保留关键字 导入包时可以设置别名 下面是保留关键字: 二、GO程序的基本结构 小练习1写一个小程序,对于给定的一个数字n,求出所有两两相加等于n的组合 小练习2写一个小 阅读全文
posted @ 2017-06-14 01:00 fan-tastic 阅读(2576) 评论(5) 推荐(0) 编辑
摘要:一、第一个go程序 对于代码的解释 如果是为了将代码编译成一个可执行程序,那么package必须是main如果是为了将代码编译成库,那么package则没有限制go中所有的代码都应该隶属一个包 fmt 是go的一个系统库 fmt.println()则可以打印输出 如果想要运行程序:go run 程序 阅读全文
posted @ 2017-06-08 14:57 fan-tastic 阅读(32421) 评论(0) 推荐(2) 编辑