上一页 1 2 3 4 5 6 7 8 9 10 ··· 16 下一页
摘要: 10.2 Go redis redis是NoSQL数据, 不是传统的关系型数据库。linux,windows环境皆可安装。 redis(Remote Dictionary Server)远程字典服务器,性能非常高,单机15W QPS,适合缓存,持久化数据。 1.1. Go操作redis 使用第三方开 阅读全文
posted @ 2019-07-27 21:55 笑得好美 阅读(509) 评论(0) 推荐(0)
摘要: 第十章 Go Mysql 准备好mysql数据库服务端数据。 准备好数据表 person 准备好place表 查看表结构 1.1. mysql驱动 mysql使用 使用第三方开源的mysql库: github.com/go-sql-driver/mysql (mysql驱动)github.com/j 阅读全文
posted @ 2019-07-27 21:54 笑得好美 阅读(105) 评论(0) 推荐(0)
摘要: 9.5 Go 依赖管理 godep是解决包依赖的管理工具,目前最主流的一种,原理是扫描记录版本控制的信息。 godep安装 1.2. godep用法 1.寻找一个使用第三方包的项目,go标准包不需要管理,默认向下兼容 如Godeps文件夹,内有Godeps.json文件 目录结构图 godep工作流 阅读全文
posted @ 2019-07-27 21:53 笑得好美 阅读(161) 评论(0) 推荐(0)
摘要: 9.4 Go 数据格式 1.1. msgpack格式 官方msgpack官网用一句话总结: It’s like JSON. but fast and small. 简单来讲,它的数据格式与json类似,但是在存储时对数字、多字节字符、数组等都做了很多优化,减少了无用的字符,二进制格式,也保证不用字符 阅读全文
posted @ 2019-07-27 21:52 笑得好美 阅读(187) 评论(0) 推荐(0)
摘要: 9.3 Go json json是一种轻量级的数据交换格式,易于机器解析,是种key-value格式。 JavaScript Object Notation是中种主流的数据格式。 json常用于网络传输 1.1. 在线解析json网址 https://www.json.cn/ 1.2. json序列 阅读全文
posted @ 2019-07-27 21:51 笑得好美 阅读(163) 评论(0) 推荐(0)
摘要: 9.2 Go 文件IO操作 1.1.1. bufio包 带有缓冲区的IO读写操作,用于读写文件,以及读取键盘输入 案例结果 1.1.2. 文件读写 文件主要用于保存数据,比如图片、视频、音乐,文档等。 程序的输入和输出流。 1.2. os.File os.File封装了所有文件相关操作。 1.3. 阅读全文
posted @ 2019-07-27 21:50 笑得好美 阅读(266) 评论(0) 推荐(0)
摘要: 9.1 Go 反射 反射:可以在运行时,动态获取变量的信息,比如变量的类型,类别 1.对于结构体变量,还可以获取到结构体的字段,方法 2.实现这个功能的是 reflect包 使用反射场景,json序列化 反射获取基本类型 反射获取结构体 反射elem获取指针指向的变量 理解reflect.Value 阅读全文
posted @ 2019-07-27 21:48 笑得好美 阅读(136) 评论(0) 推荐(0)
摘要: 8.4 Go select Go语言引入了select关键字,用于处理异步IO问题,语义和switch特别相似。语法由select开始,每个条件由case语句来描述。每个case语句必须是IO操作。 案例 使用select可以解决从管道取数据的阻塞问题 1.1.1. waitGroup等待组 阅读全文
posted @ 2019-07-27 21:47 笑得好美 阅读(139) 评论(0) 推荐(0)
摘要: 8.3 Go channel 在Go语言中,关键字go的引入使得Go语言并发编程更加简单而优雅,但是并发编程的复杂性,以及时刻关注并发编程容易出现的问题需要时刻警惕。 并发编程的难度在于协调,然而协调就必须要交流,那么并发单元之间的通信是最大的问题。 之前说了在程序中两种并发通信模型:共享数据和消息 阅读全文
posted @ 2019-07-27 21:47 笑得好美 阅读(151) 评论(0) 推荐(0)
摘要: 第八章 Go并发 Go语言区别于其他语言的一大特点就是出色的并发性能,最重要的一个特性那就是go关键字。 并发场景: UI小姐姐一边开着PS软件,一边微信疯狂的和产品经理打字交流,后台还听着网易云音乐。。 双11当天。。大伙疯狂的访问淘宝网站 CPU从单核向多核发展,计算机程序不该是串行的,浪费资源 阅读全文
posted @ 2019-07-27 21:45 笑得好美 阅读(159) 评论(0) 推荐(0)
摘要: 8.2 Go 锁 案例(坑):多个goroutine操作同一个map。 go提供了一种叫map的数据结构,可以翻译成映射,对应于其他语言的字典、哈希表。借助map,可以定义一个键和值,然后可以从map中获取、设置和删除这个值,尤其适合数据查找的场景。 但是map的使用有一定的限制,如果是在单个协程中 阅读全文
posted @ 2019-07-27 21:45 笑得好美 阅读(103) 评论(0) 推荐(0)
摘要: 7.2 Go type assertion 类型断言是使用在接口值上的操作。 语法x.(T)被称为类型断言,x代表接口的类型,T代表一个类型检查。 类型断言检查它操作对象的动态类型是否和断言类型匹配。 类型断言快速入门 1.1. 类型断言介绍 在类型断言时,如果类型不匹配,程序会直接panic异常退 阅读全文
posted @ 2019-07-27 21:44 笑得好美 阅读(168) 评论(0) 推荐(0)
摘要: 7.1 Go interface 雨痕-Go语言笔记 概念 Go语言的主要设计者之一罗布·派克(Rob Pike)曾经说过,如果只能选择一个Go语言的特 性移植到其他语言中,他会选择接口。 接口在Go语言有着至关重要的地位。如果说goroutine和channel是支撑起Go语言的并发模型 的基石, 阅读全文
posted @ 2019-07-27 21:43 笑得好美 阅读(210) 评论(0) 推荐(0)
摘要: 6.2 Go 匿名字段 Golang匿名字段:可以像访问字段成员那样,访问匿名字段方法,go编译器自动查找。 通过匿名字段可以实现 重写 override 1.1. Go继承实战 写一个学生管理系统,学生类别有(小学生、中学生、大学生),既然是学生群体都可以(查询成绩、设置成绩) 继承给Go程序带来 阅读全文
posted @ 2019-07-27 21:42 笑得好美 阅读(225) 评论(0) 推荐(0)
摘要: 5.8 Go 单元测试 如果你不想后半生的美好时光都在寻找BUG中度过,那么必须写些程序用来检测产品代码的结果和预期的一样。 Go语言的测试依赖于go test测试命令和一组按约定方式编写的测试函数,测试命令可以运行这些测试函数。 Go单元测试对文件名和方法名有严格的要求。 go test是go自带 阅读全文
posted @ 2019-07-27 21:38 笑得好美 阅读(249) 评论(0) 推荐(0)
摘要: 5.7 Go 捕获异常 Go语言处理异常不同于其他语言处理异常的方式。 go语言 2. defer与recover捕获异常 在goroutine中使用recover捕获异常 示例代码 2.1.1. Errors包 阅读全文
posted @ 2019-07-27 21:36 笑得好美 阅读(1842) 评论(0) 推荐(1)
摘要: 5.6 Go 常用函数 最正确的学习模块姿势: 程序开发常用函数 strings处理字符串相关 1.1. 时间日期函数 日期时间相关函数经常用到 time包用法 计算程序执行时间 阅读全文
posted @ 2019-07-27 21:35 笑得好美 阅读(463) 评论(0) 推荐(0)
摘要: 5.4 Go 闭包 闭包(closure):是由一个函数和其相关的引用环境组合的一个整体。(闭包=函数+引用环境) 闭包代码修改 2. 闭包实战 总结: 2.1. 函数式编程 支持将函数作为另一个函数的参数,叫回调函数。 支持将函数作为另一个函数的返回值。 go闭包-斐波那契数列 2.2. pyth 阅读全文
posted @ 2019-07-27 21:34 笑得好美 阅读(121) 评论(0) 推荐(0)
摘要: 5.5 Go defer 程序开发中经常要创建资源(数据库初始化连接,文件句柄,锁等),在程序执行完毕都必须得释放资源,Go提供了defer(延时机制)更方便、更及时的释放资源。 实例 阅读全文
posted @ 2019-07-27 21:34 笑得好美 阅读(113) 评论(0) 推荐(0)
摘要: 5.3 Go 匿名函数 Go支持匿名函数,顾名思义就是没名字的函数。 匿名函数一般用在,函数只运行一次,也可以多次调用。 匿名函数可以像普通变量一样被调用。 匿名函数由不带函数名字的函数声明与函数体组成。 匿名函数赋值给变量 局部变量 全局变量 阅读全文
posted @ 2019-07-27 21:33 笑得好美 阅读(126) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 10 ··· 16 下一页