Go语言提供了go test 命令行工具,使用该工具可以很方便的进行测试。 不仅Go语言源码中大量使用go test,在各种开源框架中的应用也极为普遍。 目前go test支持的测试类型有: 单元测试 性能测试 示例测试 1.单元测试 1.1项目结构 项目中单元测试的结构如下: [GoExpert] ...
转载 2021-07-17 10:10:00
145阅读
2评论
单元测试的原则,就是你所测试的函数方法,不要受到所依赖环境的影响,比如网络访问等,因为有时候我们运行单元测试的时候,并没有联网,那么总不能让单元测试因为这个失败吧?所以这时候模拟网络访问就有必要了。 对于go的web应用程序中往往需要与其他系统进行交互, 比如通过http访问其他系统, 此时就需要一 ...
转载 2021-07-22 23:39:00
295阅读
2评论
1. 接口定义:Interface类型可以定义一组方法,但是这些不需要实现。并且interface不能包含任何变量。2. 接口实现:Golang中的接口,不需要显示的实现。只要一个变量,含有接口类型中 的所有方法,那么这个变量就实现这个接口。因此,golang中没有implement 类似的关键字;如果一个变量含有了多个interface类型的方法,那么这个变量就实现了多个 接口。如果一个变量只含
转载 2023-06-02 16:11:59
132阅读
go指南阅读记录与其他语言的交互 在go中可通过cgo工具进行使用c语言的库函数,其原理没看懂, 这里有个说明后期有空在看看;局部变量赋值特殊方式package main var a = "G" func main() { n() m() n() } func n() { print(a) } func m() { a = "O" print(a) }
转载 2023-07-12 09:49:18
68阅读
  Q:参加 Go 进阶训练营,需要具备什么基础?需要掌握 Go 语言基础语法,并具备一定的 Go 语言相关项目开发经验。Q:学完课程后能到什么水平?Go 进阶训练营课程设计对标字节跳动 2-2 级胜任力模型,教学贴近大厂真实场景。课程中的实践驱动,不仅可以系统提升你的代码硬实力,同时也会培养你进入一线互联网大厂必备的思维能力
原创 2021-06-18 01:21:02
1112阅读
download:GO进阶训练营 1. 句尾没有分号var isHotel = json.type == "hotel" ? true : false2. 变量命名各种各样var is_hotel;var isHotel;var ishotel;3. if 缩写if (isHotel)     console.log(true)else console.log(false)4. 使用 evalva
转载 2021-03-02 10:29:20
2592阅读
2评论
这里是GO程序员的五个进化阶段:第一个阶段(菜逼): 刚刚学习了这门语言。 已经通过一些教程或者培训班了解基本的语法,可以写短的代码片段。第二个阶段 (探索者): 可以写一个完整的程序,但不懂一些更高级的语言特征,比如“channels”。还没有使用GO写一个大项目。第三个阶段(大手): 你能熟练的使用Go, 能够用GO去解决,生产环境中一个具体和完整的问题。已经形成了一套自己的惯用法和常用代码库
转载 2023-11-25 06:23:18
48阅读
1.标准库接口定义package httptype Handler interface { ServeHTTP(w ResponseWriter, r *Request)}func ListenAndServe(address strin
原创 2022-09-11 01:03:14
272阅读
Q:参加Go进阶训练营,需要具备什么基础?需要掌握Go语言基础语法,并具备一定的Go语言相关项目开发经验。Q:学完课程后能到什么水平?Go进阶训练营课程设计对标字节跳动22级胜任力模型,教学贴近大厂真实场景。课程中的实践驱动,不仅可以系统提升你的代码硬实力,同时也会培养你
GO
原创 2021-08-30 19:17:47
1202阅读
38.笔记go语言——进阶Go有指针,但是没有指针运算。不能用指针变量遍历字符串的各个字节。因此它们更象是引用而不是你所知道的来自于C的指针。指针非常有用。Go同样也垃圾收集,也就是说无须担心内存分配和回收。Go有两个内存分配原语,new和make。它们应用于不同的类型,做不同的工作,可能有些迷惑人,但是规则很简单。用new分配内存内建函数new本质上说跟其他语言中的同名函数功
go error
原创 2022-08-06 01:04:25
367阅读
package mainimport ( "io" "net/http" //"strings" "time")var ( server = &http.Server{ Addr: ":9090", Handler: &ppserver{}, ReadTimeout:
原创 2022-09-09 14:46:52
106阅读
本文档说明go语言自带的测试框架未提供或者未方便地提供的测试方案,主要是用于解决写单元测试中比较
转载 2017-04-01 09:53:00
211阅读
2评论
GO基础进阶
Go语言趣学指南》是一本面向Go语言初学者的书,循序渐进地介绍了使用Go语言所必需的知识,展示了非常多生动有趣的例子,并通
目录一、文件信息的获取二、文件的基本操作2.1.创建文件2.2.读取文件2.2.1. IO接口直接读2.2.2. 带缓冲区的读(bufio)2.2.3. ioutil包直接读2.3.写入文件2.3.1. IO接口直接写2.3.2. 带缓冲区的写(bufio)2.3.3. ioutil包直接写2.4. 文件拷贝2.5.文件光标置位2.6.删除文件三、练习3.1. 使用三种不同的方式实现文件拷贝3.2
GO语言做为21世纪新兴的编译型语言,它集成了C语言和python语言的优点,它既能够在服务器上高性能的运行也能做成exe在本地环境中完美的运行,今天我们就开始入门GO语言,从基本命令开始,到写出第一个程序结束。 实验环境: GO语言编译环境 VScode windows 10无论那种语言,它的第一个程序按照国际惯例,鹅鹅鹅,就是打印出”hello world",有句玩笑话说的就是一钟编程语言,只
go实战xly-微服务框架RPCGo 语言的 RPC 包的路径为 net/rpc,也就是放在了 net 包目录下面。因此我们可以猜测该 RPC 包是建立在 net 包基础之上的。在第一章 “Hello, World” 革命一节最后,我们基于 http 实现了一个打印例子。下面我们尝试基于 rpc 实现一个类似的例子。我们先构造一个 HelloService 类型,其中的 Hello 方法用于实现打
转载 2023-10-10 09:41:19
115阅读
我将利用一个系列,为你分享如何基于 websocket 协议的 rfc 文档,编写一个库的过程。并从0开始写一遍 gorilla/websocket 这个库,带你体验高性能 Golang 编程。
原创 3月前
64阅读
07 | 数组和切片 我们这次主要讨论 Go 语言的数组(array)类型和切片(slice)类型。 它们的共同点是都属于集合类的类型,并且,它们的值也都可以用来存储某一种类型的值(或者说元素)。 不过,它们最重要的不同是:数组类型的值(以下简称数组)的长度是固定的,而切片类型的值(以下简称切片)是
原创 2021-10-22 15:14:39
100阅读
  • 1
  • 2
  • 3
  • 4
  • 5