08 2022 档案

摘要:第六章 Channel 6.1 channel的定义 channel是内置的一种数据类型,用于两个go程中间数据的传输。 channel关键字为chan,channel是引用类型,引用类型的变量需要手动分配内存空间,所以需要用make为其创建内存空间,channel初始化的格式如下: //Type为 阅读全文
posted @ 2022-08-30 21:49 雪碧锅仔饭 阅读(791) 评论(0) 推荐(1) 编辑
摘要:第五章 Goroutine 5.1 进程、线程、协程 进程 进程是程序一次动态执行的过程,是程序运行的基本单位。 每个进程都有自己的独立内存空间,不同进程通过进程间通信来通信。 进程占据独立的内存,所以上下文进程间的切换开销(栈、寄存器、页表、文件句柄等)比较大,但相对比较稳定安全。协程切换和协程切 阅读全文
posted @ 2022-08-24 15:41 雪碧锅仔饭 阅读(2998) 评论(0) 推荐(1) 编辑
摘要:1. 什么是json JSON(JavaScript Object Notation, JS对象简谱)是一种轻量级的数据交换格式。它基于 ECMAScript(European Computer Manufacturers Association, 欧洲计算机协会制定的js规范)的一个子集,采用完全 阅读全文
posted @ 2022-08-21 20:47 雪碧锅仔饭 阅读(1458) 评论(1) 推荐(1) 编辑
摘要:1 reflect包 reflect包实现了运行时反射,允许程序操作任意类型的对象。典型用法是用静态类型interface{}保存一个值,通过调用TypeOf获取其动态类型信息,该函数返回一个Type类型值。调用ValueOf函数返回一个Value类型值,该值代表运行时的数据。Zero接受一个Typ 阅读全文
posted @ 2022-08-21 20:46 雪碧锅仔饭 阅读(171) 评论(0) 推荐(0) 编辑
摘要:第四章 测试与性能调优 4.1 传统测试vs表格驱动测试 ==传统测试== assertEquals()第一个参数是期望结果,第二个参数是实际结果。 传统测试的缺点: 测试数据和测试逻辑混在一起 出错信息不明确 一旦一个数据出错测试全部结束 ==表格驱动测试== 测试结构体中a+b=c。 表格驱动测 阅读全文
posted @ 2022-08-12 16:28 雪碧锅仔饭 阅读(77) 评论(0) 推荐(0) 编辑
摘要:第三章 错误处理和资源管理 3.1 defer调用 3.1.1 defer调用的特点 确保调用在函数结束时发生 参数在defer语句时计算 defer列表为后进先出,遵循栈规则 示例1: package main import "fmt" //defer中相当于有一个栈,遵循先进后出原则 func 阅读全文
posted @ 2022-08-06 10:14 雪碧锅仔饭 阅读(64) 评论(0) 推荐(0) 编辑
摘要:第二章 函数式编程 2.1 函数式编程 “正统”函数式编程: 不可变性:不能有状态,只有常量和函数 函数只能有一个参数 但正统函数式编程的数学性较强可读性不高,本学习过程中不作上述严格规定 函数式编程的特点: 函数是一等公民(函数的参数、变量、返回值都可以是函数) 高阶函数 闭包 2.1.1 闭包 阅读全文
posted @ 2022-08-05 11:43 雪碧锅仔饭 阅读(77) 评论(0) 推荐(0) 编辑
摘要:第一章 面向接口 1.1 接口的概念 现有infra和testing两个包都有Retriever这个结构体,都有Get函数绑定了Retriever类型。 infra包下的urlretriever.go文件代码: package infra import ( "io/ioutil" "net/http 阅读全文
posted @ 2022-08-04 14:13 雪碧锅仔饭 阅读(153) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示