自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

原创 r1笔记day28 单元测试(T类型)

Go自带了测试框架和工具,在testing包中,以便完成单元测试(T类型)和性能测试(B类型)。一般测试代码放在*_test.go文件中,与被测代码放于同一个包中。单元测试测试函数名称格式是:Test[^a-z],即以Test开头,跟上非小写字母开头的字符串。每个测试函数都接受一个*testing.T类型参数,用于输出信息或中断测试。测试方法有:Fail: 标记失败,但继续执行...

2020-01-14 09:58:46 178

原创 r1笔记day27 goroutine and channel

一个简单的例子:package mainimport ( "fmt" "time")func test() { var i int for { fmt.Println(i) time.Sleep(time.Second) i++ }}func main() { go test() for { }}例子2:package mainim...

2020-01-05 02:34:22 138

原创 r1笔记day26 错误处理

自定义err的输出:package mainimport ( "fmt" "os" "time")type PathError struct { path string op string createTime string message string}func (p *PathError) Error() string {...

2020-01-03 18:12:43 116

原创 r1笔记day25 json协议以及反序列化样例

分别对struct、slice、基本类型、map进行序列化和反序列化:package mainimport ( "encoding/json" "fmt")type User struct { UserName string `json:"username"` //改变json打包的key,将大写变成小写 NickName string `json:"nickname"`...

2020-01-03 02:17:17 649

原创 r1笔记day25 json协议以及序列化样例

传输的标准:Golang--(序列化)-->json字符串--(网络传输)-->程序--(反序列化)-->其他语言json数据协议:导入包 encoding/json序列化:json.Marshal(data interface{})反序列化:json.UnMarshal(data []byte,v interface{})案例:分别对 struct...

2020-01-03 01:10:59 626

原创 r1笔记day24 文件的操作以及命令行参数flag包的使用

概要:文件的读写操作,各种姿势的,比如直接读写,带缓存的读写,利用io/ioutil包 等。packag中包的使用,以及加深对package的理解。命令行参数原始处理以及利用flag包来处理,同时,还可以利用flag包读取配置文件,然后进行初始化参数配置等。下面正文:一、打开压缩文件:文件直接读/带缓存的读/ioustiopackage mainimport ...

2019-12-29 21:48:28 272

原创 r1笔记day24 golang package的理解与使用

1、package中可以用的东西package里面有type,func,interface{},const这些可以用的。2、package中func{} 与 type的使用比较简单,开箱即用:比如这个os package,里面除了很多 方法之外,还定义了很多type,这些type,又有很多的方法可以用。比如说,定义一个 os.File 的file,接着,就可以用os.File这...

2019-12-29 21:26:50 123

原创 r1笔记day23 终端读写

操作终端相关文件句柄常量os.Stdin:os.Stdout:os.Stderr:终端读写示例:package mainimport "fmt"type Student struct { Name string Age int Score float32}func main() { var str = "stu01 18 89.22" var st...

2019-12-29 01:20:42 60

原创 r1笔记day23 VSCode golang插件安装

VSC的golang的插件因为墙的原因,不方便直接安装,手动设置代理,然后执行go get进行安装。首先,go env设置代理,开启GO111MODULE:go env -w GOPROXY=https://goproxy.cn,direct# Set environment variable allow bypassing the proxy for selected modules...

2019-12-28 21:07:53 208

原创 r1笔记day23 负载均衡 3

需要添加支持用户自定义的算法,这样怎么实现呢?可以通过添加一个调度算法管理的模块,对系统提供的,自定义的调度算法进行管理。并且动态地添加支持。实现一个支持负载均衡管理的类:(如果VSC保存时候,没有自动调整格式,那就是代码有问题了,struct初始化时候每一行需要 逗号 "," 。 不然回报错:“syntax error: unexpected newline, expecting comma...

2019-12-27 15:34:37 183

原创 r1笔记day22 负载均衡 2

fmt这个包,有个String的接口,如果实现了,就会调用,然后进行格式化。实现了接口,就可以自定义输出。在调用实现了这个接口的类,就会自动调用string进行格式化。比如instance这个结构体实现了String,在fmt.Println() 时候,就会自动调用String这个接口,去格式化。//实现String接口func (p *Instance) String() strin...

2019-12-27 02:03:09 248

原创 r1笔记day22 win10 hiberfil.sys文件删除

查看c盘下面这个文件占用很大空间,C盘一下子不够了查看这个文件是干什么的 Hiberfil.sys 是 Windows 休眠功能(Windows Hibernation)将内存数据与会话保存至硬盘、以便计算机断电重新启动后可以快速恢复会话所需的内存镜像文件。然后着手关闭:powercfg -h off, 文件就会自动删除。powercfg -h on,文件又会回来。...

2019-12-26 17:56:46 157

原创 r1笔记day21 写一个负载均衡

这个是视频教程学习golang的例子,纯属练手,非生产使用:学习了一下项目的规划,各个package怎么管理的。step1:先定义一个负载均衡的接口Balancer,接口里面有DoBalance([]*Instance) (*Instance, error) 方法。step2:创建instance的结构体,由于字段是小写的,写一个构造函数用来访问,同时,提供两个函数GetHost()...

2019-12-26 00:39:07 105

原创 r1笔记day21_2 Go golang输出圣诞树(自娱自乐)

今天圣诞节,然后用很笨拙的golang,写了一颗圣诞树:package mainimport "fmt"func printer(b bool) { switch b { case true: fmt.Printf("*") case false: fmt.Printf(" ") }}func main() { fmt.Println() var flag ...

2019-12-25 22:53:06 746

原创 r1笔记day21 01两数之和等于目标值

题目内容 :给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。golang解题如下:(如果有多种组合,先不考虑)package mainimport "fmt"func twoSum(nums []int, target int...

2019-12-25 16:00:05 89

原创 r1笔记day20_03 Go reflect 2

下面通过修改int值的例子,学习type Value,以及提供的方法Elem(),这个方法就相当于提供了指针,并指向了这个变量,就可以修改值了。利用反射操作Int,比如说修改int的值package mainimport ( "fmt" "reflect")//利用反射,修改值,提供了Elem(),这个方法,相当于一个指针指向变量func TestInt(b interf...

2019-12-24 01:16:54 82

原创 r1笔记day20_02 Go reflect1

反射:可以在运行时动态获取变量的相关信息, “reflect” 这个包,状态转换如:变量<===>Interface{} <===>Reflect.Value看一下reflect这个包,type value部分,将一个变量,转换成 reflect.Value之后,提供了很多方法分析这个变量,可以做下面这么多事情。也就是说可以动态地处理很多事情。获取运行时的详细信息。...

2019-12-24 00:16:43 67

原创 r1笔记day20_01 Go Interface4

判断一个变量是否实现了指定接口:定义一个接口变量,然后将类型赋值给接口变量,再用 ok去判断是否实现了指定接口。有点像 interface里面装了int一样,虽然type输出是int,但是是用 空的interface{} 装的。func main() { //定义一个变量,由于file实现了rw方法,使用,可以调用接口的方法。 var f File Test(&f) va...

2019-12-23 22:40:23 131

原创 r1笔记day19_02 Go Interface3

实现了接口的任何类型,都可以调用接口的函数。如下图所示,构建一个实现了RW的File,然后,就可以用Test函数处理。(画完下面的这张图,这样子看起来比较好理解,看来要多画图)package mainimport ( "fmt")type Reader interface { Read()}type Writer interface { Write()}/...

2019-12-22 00:53:00 109

原创 r1笔记day19_01 UberGo编程规范

github上的地址:https://github.com/xxjwxc/uber_go_guide_cn目录如下:介绍 指导原则 指向 interface 的指针 接收器 (receiver) 与接口 零值 Mutex 是有效的 在边界处拷贝 Slices 和 Maps 使用 defer 释放资源 Channel 的 size 要么是 1,要么是无缓冲的 枚举...

2019-12-21 16:49:48 89

原创 r1笔记day18 Golang接口2

对golang interface的深入理解(更深入的待后面学习了继续):比如下面这个sort:func Sort(data Interface)type Interface interface { // Len is the number of elements in the collection. Len() int // Less...

2019-12-20 00:51:38 82

原创 r1笔记day17 golang接口

面向接口的编程Interface 类型可以定义一组方法,但是这些不需要实。并且interface不能包含任何变量,但是有参数。好处是什么呢:定义好接口,然后各自去实现。去学习别人的接口。实际项目中,最好抽象成接口,比如负载均衡,定义好轮训方法,直接换一下接口就好,底层怎么实现不管。这样就不需要改业务代码,就可以实现切换。type exampler interface{ M...

2019-12-18 00:59:19 87

原创 r1笔记day16 图书管理系统

实现一个图书管理系统,具有以下功能:a、书籍录入功能,书籍信息包括书名、副本数、作者、出版日期b、书籍查询功能,按书名、作者、出版日期等条件检索c、学生信息管理功能,管理每个学生的姓名、年纪、身份证、性别、借了什么书等信息d、借书功能,学生可以查询想要的书籍,进行借出e、书籍管理功能,可以看到每种书被哪些人借出了。目录结构:PS F:\go\src\go_dev\da...

2019-12-17 01:24:24 118

原创 r1笔记第15天 Golang(15)

a、结构体中的方法:定义一个结构体student,然后给结构体 添加方法,结构体作为接收者,类似插件一样加上去。注意 *T 与T 类型的接收者互相转换,golang这个做的很好,降低了使用难度。b、方法的的组合和匿名字段:如果一个struct嵌套了另一个匿名结构体,那么这个结构可以直接访问匿名结构体的方法,从而实现了继承,如果一个struct嵌套了另一个有名结构体,那么这个模式就叫组合。如果s...

2019-12-15 01:37:13 75

原创 r1笔记第14天 Golang(14)

type 定义的都是类型,可以给类型起别名,但是, 别名和类型属于不同类型,要赋值,需要类型转换。package mainimport ( "fmt")type integer intfunc main() { var i integer = 1000 var j int fmt.Println(i,j) //j = i error:cannot use i (...

2019-12-14 02:39:43 88

原创 r1笔记第13天 Golang(13)

二叉树定义:type Student struct{ Name string left* Student right* Student}如果每个节点有两个指针分别用来指向左子树和右子树,我们把这样的结构叫做二叉树。广度、深度 优先的问题。package mainimport ( "fmt")type Student struct{ Name...

2019-12-13 01:18:32 56

原创 r1笔记第12天 Golang(12)

链表的尾部插入:先定义一个入口,接着批量插入。单向链表,需要先定义一个入口,然后定义一个临时指针变量,存储这个入口的地址,利用for循环,指针变量作为节点临时存储的中间值,同时,指针变量的next指向下一个节点的地址。多加了个%T查看类型,%p查看具体的地址,发现,程序会先把内存申请好,然后才开始工作。另外,内存结构确实是一个接着一个的。for循环中,变量操作与地址操作 var stu...

2019-12-12 00:53:58 74

原创 r1笔记第12天 逻辑英语随堂笔记 (04)

作文: 论点 简单重要 论据 复杂不重要--->论点:前两句,转折处,宾语从句,重播处(in other words、namely)--->论据:例子,数据,实验,专家的话看懂文章的论点和论据,关注各种转折什么的。正确答案在闪闪发光...

2019-12-11 22:20:20 249

原创 r1笔记第11天 Golang(11)

golang单链表的例子:定义一个struct Student,接着实例化3个,然后串起来, 注意遍历的时候,是通过判断 p.Next 是否是 nil 来决定是否到了链的末尾。如果变成环,那就会不停地输出,停不下来。注意,遍历的函数需要在最后进行输出,不然会漏掉最后一个值。func trans( p *Student) { for p.Next != nil{ fmt.Pri...

2019-12-11 01:17:10 71

原创 r1笔记第11天 逻辑英语随堂笔记 (03)

今天没啥内容,也记录一点。字母入手:R 根root、辐射 ra 这样的拼写不着急,先认识单词。思考=记忆学高为师、身正为范亲身经历的过程,才记得牢。单词量==词的质量==用的漂亮you were,are and always be in my heart....

2019-12-10 21:31:02 111

原创 r1笔记第10天 Golang(10-2)

结构体:struct结构体的声明:type 标识符 struct{ field1 type field2 type}例子:type Student struct{ Name string age int}结构体的访问,和其他语言一样,使用点例子:var stu Studentstu.Name = "tony"stu.Age ...

2019-12-10 00:10:23 76

原创 r1笔记第10天 Golang(10-1)

example01:冒泡排序利用切片传参,因为可变长的,数组是固定长度的。先梳理清楚冒泡排序的逻辑,冒泡排序原理:a[0]开始,与后面的数字对比,比a[0] 大的,就取代a[0]的位置,接着是a[1], 最后到a[len(a)] 比较完毕,输出结果。package mainimport ( "fmt")func bsort(a []int) { for i := ...

2019-12-09 23:16:52 109

原创 r1笔记第10天 逻辑英语随堂笔记(02)

今天钟老师的课程,确实很不错,主要是鸡汤很赞。莫问前程,蒙眼狂奔。人生的境界---不过如此!!!光明、顿悟、涅槃、起飞、沉醉。缺失句子补全:1、不作死不会死2、他很好3、山无棱天地合,乃敢与君绝4、主、系、表、被动 的补全没有动词的句子,补上 系语中:在唐代,人们用灯笼来庆祝安定的生活,从那时起,灯笼在中国许多地方流行起来。英:中:灯笼通常用色...

2019-12-09 22:25:02 368

原创 r1笔记第9天 Golang(09)

下面开始进入 包的学习:1、golang中的包 a、golang目前有150个标注你的包,覆盖了几乎所有的基础库。 b、golang.org有所有包的文档。2、线程同步: a、import("sync") b、互斥锁,var mu sync.Mutex: 写多读少的情况下,用互斥锁。 c、读写锁, var mu syn...

2019-12-09 01:26:34 96

原创 r1笔记第9天 逻辑英语随堂笔记 (01)

报名了网易逻辑英语,笔记如下:外语的本质: 序列的问题,其次语法,最后单词。模型:底层结构状1 主(定1) 谓(状2)宾 (定2\状1)(状1\定1)主 (状2)谓 (定2) 宾 状1模型: 上层结构 底层结构基础上,定状倒序 语言=算法+数据成长是一个偶像不断破灭的过程高手的境界不过如此。catti...

2019-12-09 00:13:17 411

原创 r1笔记第9天 Golang(08)

example01:因为map是无序的,返回的结果随机,可以通过slice,然后进行sort进行排序。package mainimport ( "fmt" "sort")func testMapSort() { var a map[int]int a = make(map[int]int,5) a[8] = 10 a[3] = 10 a[11] = 10 a[1]...

2019-12-08 19:51:56 62

原创 r1笔记第8天 Gloang(07)

example01:数组是个值引用,要是要进行排序,需要传个切片进去。然后用sort进行排序。(string float 什么的也一样进行)package mainimport ( "fmt" "sort")func testIntSort() { var a = [...]int{4,77,8,1,234,66} sort.Ints(a[:]) fmt.Pri...

2019-12-08 01:10:28 92

原创 r1笔记第7天 Golang(06)

example01:闭包:一个函数和语气相关的引用环境及组合而成的实体。看一下函数和哪个变量进行绑定。比如下面的和 x进行了绑定,也就是说,运行过程中,会保留值。这样子好处是,只要写一次函数,就可以实现多个功能。package mainimport ( "fmt" "strings")func Adder() func(int) int { var x int r...

2019-12-07 00:31:35 82

原创 r1笔记 第6天 Linux(01)

报错* About to connect() to proxy 192.168.43.21 port 1081 (#0)* Trying 192.168.43.21...* Connection refused现象与处理:[root@k8stest ~]# curl -v -X PUT 192.168.0.11:8087/new?size=1* About to conn...

2019-12-06 01:11:49 224

原创 r1笔记第6天 常用命令、工具 (01)

#centossystemctl stop firewalld.servicesystemctl disable firewalld.servicesystemctl stop firewalldsystemctl disable firewalldsed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config...

2019-12-06 01:00:38 88

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除