Go语言中文网 为您找到相关结果 55

golang项目test的写法

业务代码 package main import "fmt" func sum(a int,b int) int { return a+b } func main() { fmt.Println("hello test") } test测试用例 package main import ( "fmt" "testing" ) func TestSum(t *testing.T) { var a = 3 var b =4 res :=sum(a,b) fmt.Printf("%d 与%d之和:为%d",a,b,res) if res != 7{ t.Error("error") } } 每一个test文件必须import一个testing. test文件下每一个test case均必须以Test...阅读全文

博文 2019-08-05 21:32:38 厚朴酚XZ9lr

自动化接口测试

一、 自动化测试的现状一般测试,我们会分成上图几个层级,开发人员完成单元测试,测试人员完成第二层和顶层,但是在大部分企业中,往往会忽略第二层,也即集成、接口测试。更多的是侧重于开发人员的单元和ui,或者说功能测试。 二、 为什么做自动化接口测试 1.节省测试成本。底层的一个bug往往会引发上层的多个bug,而且底层的bug很容易引起全网的宕机。相反接口测试能够提供系统复杂度上升情况下的低成本高效率的解决方案。 2.fail fast。即快速失败,主要是让异常或错误尽快的抛出。在接口测试中,由于接口测试是相对底层的测试,所以,可以更快的发现错误。 3.提高测试效率。接口测试是自动化并且持续集成的,相对UI、功能测试,测试效率也大大的提高。 三、自动化接口测试的选择 1....阅读全文

Golang UnitTest单元测试(go test)

##Golang UnitTest单元测试 Golang单元测试对文件名和方法名,参数都有很严格的要求。 例如: 1、文件名必须以xx_test.go命名 2、方法必须是Test[^a-z]开头 3、方法参数必须 t *testing.T 之前就因为第 2 点没有写对,导致找了半天错误。现在真的让人记忆深刻啊,小小的东西当初看书没仔细。 下面分享一点go test的参数解读。来源 go test是go语言自带的测试工具,其中包含的是两类,单元测试和性能测试 通过go help test可以看到go test的使用说明: 格式形如: go test [-c] [-i] [build flags] [packages] [flags for test binary] 参数解读: -c : 编译g...阅读全文

Golang UnitTest单元测试

最近做项目的时候一直很苦恼,go的单元测试是怎么回事,之前有看过go test xx_test.go命令进行单元测试,只知道有这么一说。最近项目中写了很多工具类,一直想测试一下性能和执行结果。发现完全不对。 这是代码。 发现多次执行go test utilfile_test.go完全没有任何输出。查很多原因和多帖子,都没说到重点。今天在群里问了下,才发现go单元测试对文件名和方法名,参数都有很严格的要求。 例如: 1、文件名必须以xx_test.go命名 2、方法必须是Test[^a-z]开头 3、方法参数必须 t *testing.T 之前就因为第 2 点没有写对,导致找了半天错误。现在真的让人记忆深刻啊,小小的东西当初看书没仔细。 go test -v utilfile_test.go测...阅读全文

博文 2015-06-18 08:02:19 x369201170

全面系统学测试 从小白入门到实战就业

​全面系统学测试 从小白入门到实战就业 完整无密 【点击下载】本课程为慕课网销量最高、备受好评的测试入门课程2020年全新升级版。升级课程亮点:1、测试设计、测试执行、测试总结、黑盒测试、白盒测试、自动化测试、性能测试、手机测试、面试讲解等全方位多角度进行讲解;2、辅助以支付宝、余额宝等实战项目演练,更增加主流热门电商类测试项目全流程与微信红包项目实战;3、掌握从简单业务场景到复杂业务场景下的不同测试实战技巧,满足入门+提高双重需求适合人群软件测试初学者、刚刚从事软件测试行业的新手,在校大学生、应届毕业准备从事软件测试行业,准备转行进入软件测试行业的小伙伴技术储备要求0基础入门,无论你的基础怎么样,你的背景怎么样都可以学习这门课程第1章 课程介绍本章主要介绍课程学习内容,学习收获,学习路线及...阅读全文

Go语言-测试用例

编写单元测试用例 文件名必须以'_test.go'结尾 必须import "testing"这个包 测试用例会按照源代码中写的顺序依次执行 测试函数'TestXxx(t *testing.T)'中的参数是‘testing.T’,我们可以用该类型来记录错误或者是测试状态 测试格式:‘func TestXxx(t *testing.T)’,'Xxx'部分可以为任意的字母数字组合,但是首字母不能是小写字母[a-z] 函数中通过调用'testing.T'的'Error'、'Errorf'、'FailNow'、'Fatal'、‘FatalIf’方法,说明测试用例不通过,调用''Log'方法用来记录测试的信息 编写压力测试 压力测试用例必须遵循如下格式,其中XXX可以是任意字母数字的组合,但是首字母不能...阅读全文

博文 2018-07-02 21:35:13 二郎神六号

golang: facebookgo之inject测试用例

依赖注入(Dependency Injection)和控制反转(Inversion of Control)是同一个概念。在传统的程序设计过程中,调用者是自己来决定使用哪些被调用者实现的。但是在依赖注入模式中,创建被调用者的工作不再由调用者来完成,因此称为控制反转;创建被调用者实例的工作通常由注入器来完成,然后注入调用者,因此也称为依赖注入。 下面是facebookgo/inject 包的测试用例, 需要的自取。 https://github.com/e421083458/injec...阅读全文

golang使用正则表达式使用

例1:package main import ( "fmt" "regexp" ) func main() { s1 := "Z22WhkC9K$N#wRIbBitpQYUFJqd%d*QVz5Ir7j&CLqz3@FOC2x5CD6ZzvhNdk@5Vv1QU^DHbSc&nBs%4!94ngFH0BJ6GxtXg2$T" reg := regexp.MustCompile(`[^a-zA-Z0-9]`) fmt.Println(reg.FindAllString(s1, -1)) reg = regexp.MustCompile(`[a-zA-Z0-9]`) fmt.Println(reg.FindAllString(s1, -1)) reg = regexp.MustCompile(`...阅读全文

博文 2019-07-30 14:34:45 xingzhehxiang

golang 测试文件xxx_test

go 的版本:go version go1.4.2 windows/386 举例:如果golang的包在同一目录下,比如GOPATH下面src/test/ 目录下有包名package test 如果此时有 test.go 和 test_test.go,那么包导入的时候会自动忽略test_test.go的导入内容 总之,1、如果有多个.go文件时候,并且不都是*_test.go命名,其它命名*_test.go的文件的包都import不进去 2、如果多个.go文件都是*_test.go,则一定会有一个*_test.go文件可以被import 3、 所以最好的做法是在开发环境中不要命名*_test.go的文件,最终测试用例文件可以用*_test.go命...阅读全文

博文 2015-10-11 23:00:07 webyh

go test 命令介绍

go test go test是go语言自带的测试工具,其中包含的是两类,单元测试和性能测试 通过go help test可以看到go test的使用说明: 格式形如: go test [-c] [-i] [build flags] [packages] [flags for test binary] 参数解读: -c : 编译go test成为可执行的二进制文件,但是不运行测试。 -i : 安装测试包依赖的package,但是不运行测试。 关于build flags,调用go help build,这些是编译运行过程中需要使用到的参数,一般设置为空 关于packages,调用go help packages,这些是关于包的管理,一般设置为空 关于flags for test binary,...阅读全文

博文 2015-04-08 13:00:05 csapr1987

Go指南中的练习:map

练习:map 实现 WordCount。它应当返回一个含有 s 中每个 “词” 个数的 map。函数wc.Test 针对这个函数执行一个测试用例,并输出成功还是失败.你会发现strings.Fields 很有帮助。 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 在题目中提示可以使用strings.Fields,那我们现在查一查这个函数 func Fields func Fields(s string)...阅读全文

博文 2016-04-05 05:00:00 u013564276

Golang判断类型示例

package mainimport "fmt"type Student struct { Name string}func TestType(items ...interface{}) { for k, v := range items { switch v.(type) { case string: fmt.Printf("type is string, %d[%v]\n", k, v) case bool: fmt.Printf("type is bool, %d[%v]\n", k, v) case int: fmt.Printf("type is int, %d[%v]\n", k, v) case float32, float64: fmt.Printf("type is flo...阅读全文

博文 2019-08-29 11:32:52 灰侠_bf44

Golang 数组过滤操作benchmark效率对比

说明 之前做的go项目,遇到一个关于数组的增删效率问题: 循环数组--判断--删除数组--得到需要的数组 示例:如果我需要在arr1中过滤掉arr2第一次写的方法如下 arr1:=[]int{1,2,3......,999,1000} arr2:=[]int{5,10,15......,995,1000} for k, v := range arr1{ for _, vv := range arr2{ if v == vv { arr1= append(arr1[:k], arr1[k+1:]...) } } } 这样写会出现错误,因为删除一个数之后,数标就对不上了,因此需要倒序删除: for i := len(arr1) - 1; i >= 0; i-- { v := arr1[i] fo...阅读全文

博文 2017-03-05 19:46:27 cowkeys

关于移动App的崩溃测试用例设计

我们的日常生活中对移动设备越来越多的使用意味着移动App测试这个主题已成为需要考虑的一个无法避免的问题。根据最近的调查研究,用户难以容忍有bug的移动App。移动App Bug的影响是用户体验差、App的商店评级下降、用户换用竞争对手的App,声誉和信誉损失、最后销售量减少,如果它是一个付费App的话。 移动App测试与传统台式机测试相比有一定的复杂性。这些复杂性可以被分类为: 环境(大量的设备,各种移动OSs,适应频繁OSs变化) 。 设备(触摸式和非触摸式设备,有限的内存容量,电池耗电量) 。 网络(不同的网络和运营商,在不好或无网络的情况下的App行为,离线支持) 。 可用性(方向,触摸,多触摸,缩放,分页和导航的局限性,各种干扰,...阅读全文

Terraform 开发指南

本文主要向大家展示如何为阿里云 Terraform Provider 贡献自己的力量,帮助开发者和志同道合的朋友尽快加入到开源生态的建设中来。本文面向所有的对Terraform熟悉和感兴趣的朋友,如果您还不了解Terraform,快快戳这里。本文会从环境搭建和开发规范两个方面向大家展示如何开放 terraform provider。环境搭建安装 Golang本地安装go >1.10.0 详见:https://golang.org/dl/安装 Terraform本地安装 Terraform > 0.11, 详见: https://www.terraform.io/intro/getting-started/install.html安装 Terraform Provider1、fork 并下载 ...阅读全文

博文 2018-07-18 17:34:50 阿里云云栖社区

golang 操作mysql测试用例

package main import ( "fmt" "database/sql" _ "github.com/go-sql-driver/mysql" ) type TestMysql struct { db * sql.DB } func Init()(*TestMysql, error) { test := new (TestMysql) db, err := sql.Open("mysql","root:@tcp(172.16.3.8:3306)/jackma?charset=utf8") if err != nil { fmt.Println(err.Error()) return test,nil } test.db = db return test, nil } func (...阅读全文

博文 2016-02-17 22:00:02 u011363248

golang test说明解读

go test是go语言自带的测试工具,其中包含的是两类,单元测试和性能测试 通过go help test可以看到go test的使用说明: 格式形如: go test [-c] [-i] [build flags] [packages] [flags for test binary] 参数解读: -c : 编译go test成为可执行的二进制文件,但是不运行测试。 -i : 安装测试包依赖的package,但是不运行测试。 关于build flags,调用go help build,这些是编译运行过程中需要使用到的参数,一般设置为空 关于packages,调用go help packages,这些是关于包的管理,一般设置为空 关于flags for test binary,调用go hel...阅读全文

博文 2015-08-20 03:00:01 moxiaopeng

测试一下golang协程资源占有率

GO版本:go version go1.4.2 linux/amd64 测试环境: [root@localhost mpro]# more /proc/cpuinfo | grep "model name" model name : Intel(R) Core(TM) i5-4590 CPU @ 3.30GHz model name : Intel(R) Core(TM) i5-4590 CPU @ 3.30GHz model name : Intel(R) Core(TM) i5-4590 CPU @ 3.30GHz model name : Intel(R) Core(TM) i5-4590 CPU @ 3.30GHz [root@localhost mpro]# [root@local...阅读全文

golang test说明解读

go test是go语言自带的测试工具,其中包含的是两类,单元测试和性能测试 通过go help test可以看到go test的使用说明: 格式形如: go test [-c] [-i] [build flags] [packages] [flags for test binary] 参数解读: -c : 编译go test成为可执行的二进制文件,但是不运行测试。 -i : 安装测试包依赖的package,但是不运行测试。 关于build flags,调用go help build,这些是编译运行过程中需要使用到的参数,一般设置为空 关于packages,调用go help packages,这些是关于包的管理,一般设置为空 关于flags for test binary,调用go hel...阅读全文

博文 2014-10-04 19:27:29 chunhei2008

go指南:映射练习

题目 题目地址https://tour.go-zh.org/moretypes/23 练习:映射 实现 WordCount。它应当返回一个映射,其中包含字符串 s 中每个“单词”的个数。函数 wc.Test 会对此函数执行一系列测试用例,并输出成功还是失败。 你会发现 strings.Fields 很有帮助。 答案 package main import ( "golang.org/x/tour/wc" "strings" ) func WordCount(s string) map[string]int { sFields := strings.Fields(s) var resMap = map[string]int{} for _,v := range sFields{ resMap[...阅读全文

测试用例设计该怎么做

测试什么,按照什么顺序测试,覆盖哪些需求做到心中有数。测试用例编写者不仅要掌握软件测试的技术和流程,而且要对被测软件的设计、功能规格说明、用户试用场景以及程序/模块的结构都有比较透彻的理解。测试用例设计一般包括以下几个步骤:   1、测试需求分析   从软件需求文档中,找出待测试软件/模块的需求,通过自己的分析、理解,整理成为测试需求,清楚被测试对象具有哪些功能。测试需求的特点是:包含软件需求,具有可测试性。   测试需求应该在软件需求基础上进行归纳、分类或细分,方便测试用例设计。测试用例中的测试集与测试需求的关系是多对一的关系,即一个或多个测试用例集对应一个测试需求。   2、业务流程分析   软件测试,不单纯是基于功能的黑盒测试,还需要对软件的内部处理逻辑进行测试。...阅读全文

使用httptest编写测试用例,利用httpserver和HTTPclient

func (s UserResource) Find(ctx context.Context, param string, condition bson.M, p api.Page) (v api.Responder, e error) { // validate authority uid, err := objectID(ctx) if err != nil { return nil, api.NewHTTPError(api.ErrAuthorization, api.CodeTokenAuthFailed) } rid, err := RoleID(s.UserStorage, uid) if err != nil { return nil, api.NewHTTPError(api...阅读全文

博文 2017-11-23 07:05:13 Ares_wss

go array數組slice切片實例

package main import ( "flag" "fmt" ) const ( szie int = 5 ) var p *int = flag.Int("p", 0, "ente page") var s *int = flag.Int("s", 10, "ente szie") func main() { flag.Parse() data := make([]int, *s) for i := 1; i < *s; i++ { data[i] = i } newd := make([]int, szie) if *p <= 0 { newd = data[:szie] } else { m := *p * szie if m <= *s { j := m - szie new...阅读全文

博文 2015-12-30 13:00:01 cncdns

golang test 说明解读

本文为转载,原文地址:http://www.cnblogs.com/yjf512/archive/2013/01/22/2870927.html go test是go语言自带的测试工具,其中包含的是两类,单元测试和性能测试 通过go help test可以看到go test的使用说明: 格式形如: go test [-c] [-i] [build flags] [packages] [flags for test binary] 参数解读: -c : 编译go test成为可执行的二进制文件,但是不运行测试。 -i : 安装测试包依赖的package,但是不运行测试。 关于build flags,调用go help build,这些是编译运行过程中需要使用到的参数,一般设置为空 关于pack...阅读全文

博文 2014-10-04 19:27:29 koalaone

LeetCode专题-模拟

1041. Robot Bounded In Circle Easy On an infinite plane, a robot initially stands at (0, 0) and faces north. The robot can receive one of three instructions: "G": go straight 1 unit; "L": turn 90 degrees to the left; "R": turn 90 degress to the right. The robot performs the instructions given in order, and repeats them forever. Return true if and o...阅读全文

博文 2019-05-25 22:34:45 山中散人的博客

golang test说明解读

go test是go语言自带的测试工具,其中包含的是两类,单元测试和性能测试 通过go help test可以看到go test的使用说明: 格式形如: go test [-c] [-i] [build flags] [packages] [flags for test binary] 参数解读: -c : 编译go test成为可执行的二进制文件,但是不运行测试。 -i : 安装测试包依赖的package,但是不运行测试。 关于build flags,调用go help build,这些是编译运行过程中需要使用到的参数,一般设置为空 关于packages,调用go help packages,这些是关于包的管理,一般设置为空 关于flags for test binary,调用go hel...阅读全文

博文 2015-06-17 20:17:40 kjfcpua

Golang Unit Test单元测试

1. Golang单元测试对文件名和方法名要求 文件名必须以xx_test.go命名 方法必须是Test[^a-z]开头 方法参数必须 t *testing.T 2. go test 参数解读 go test是go语言自带的测试工具,其中包含的是两类,单元测试和性能测试。通过go help test可以看到go test的使用说明: 格式 go test [-c] [-i] [build flags] [packages] [flags for test binary] 参数 -c : 编译go test成为可执行的二进制文件,但是不运行测试。 -i : 安装测试包依赖的package,但是不运行测试。 关于build flags,调用go help build,这些是编译运行过程中需要使用...阅读全文

博文 2016-10-09 16:00:05 ZCF1002797280

go语言MAP用法

先做一个练习题:http://tour.golangtc.com/moretypes/18 练习:map 实现 `WordCount`。它应当返回一个含有 s 中每个 “词” 个数的 map。函数 wc.Test 针对这个函数执行一个测试用例,并打印成功或者失败。 你会发现 strings.Fields 很有帮助。 我的代码: package main import ( "code.google.com/p/go-tour/wc" "strings" ) func WordCount(s string) map[string]int { str := strings.Fields(s)//把字符串分成单词数组 m := make(map[string]int) for i:=0;i阅读全文

博文 2015-06-17 23:05:56 threeyax

Go语言的测试

之前看过一本书,说:“凡大神都是先写好单元测试用例,才去写代码的”。我一直都记在心里。今天终于有空,就看了看Golang的测试包testing。 谢大的书和Golang官方的文档讲的差不多,Golang提供了两个测试方式:用例测试和压力测试。 ###1. 用例测试 用例测试的规则我是复制谢大的: 文件名必须是_test.go结尾的,这样在执行go test的时候才会执行到相应的代码 你必须import testing这个包 所有的测试用例函数必须是Test开头 测试用例会按照源代码中写的顺序依次执行 测试函数TestXxx()的参数是testing.T,我们可以使用该类型来记录错误或者是测试状态 测试格式:func TestXxx (t *testing.T),Xxx部分可以为任意的字母数字...阅读全文

golang test说明解读

go test是go语言自带的测试工具,其中包含的是两类,单元测试和性能测试 通过go help test可以看到go test的使用说明: 格式形如: go test [-c] [-i] [build flags] [packages] [flags for test binary] 参数解读: -c : 编译go test成为可执行的二进制文件,但是不运行测试。 -i : 安装测试包依赖的package,但是不运行测试。 关于build flags,调用go help build,这些是编译运行过程中需要使用到的参数,一般设置为空 关于packages,调用go help packages,这些是关于包的管理,一般设置为空 关于flags for test binary,调用go hel...阅读全文

自动化测试 之 “好用例、坏用例”

摘要: 自动化测试的重要性显而易见,但自动化测试又无法解决所有问题,所以说完全依赖自动化是不可能的,但完全没有自动化是万万不能。在软件开发项目中,重度依赖人力进行持续回归是一件非常枯燥的重复工作。企业需要花费大量的时间和金钱来维持这样一支队伍以保证产品质量,而队伍中的同学在每天重复劳动的工作之下,也丝毫得不到成长,看不到方向。 尽管自动化测试不能解决所有问题,但是却拥有一个优势:“Once” Written, Run Anytime as Desired(一旦写好,即可随意重复执行)。所以,自动化测试通常都会跟持续集成系统(比如Jenkins)配合使用,就像“良辰美景”要配上“月光杯”才算的上是极致。这样我们可以避免在软件上线或交付的最后一刻,还深陷软件问题的泥潭中。当然,这也是敏捷开...阅读全文

Blog.3 使用httptest模拟接口测试

在Test中在模拟接口测试,首先我们先实现一个最基础的Test例子: 模拟一个ping/pong的最基本请求,我们先写一个返回pong的HTTP handler import ( "io" "net/http" "net/http/httptest" "testing" ) func Pong(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusOK) w.Header().Set("Content-Type", "text/plain") io.WriteString(w, "pong") } 然后写测试用例: func TestRequest(t *testing.T) { req, err := http...阅读全文

博文 2019-07-22 23:02:40 渐行渐远

型模式

一、原型模式的定义与特点 原型(Prototype)模式:用一个已经创建的实例作为原型,通过复制原型对象来创建一个和原型相同或相似的新对象 二、原型模式的结构与实现 模式的结构 抽象原型类: 规定了具体原型对象必须实现的接口 具体原型类:实现抽象原型类的clone()方法,它是可被复制的对象 访问类:使用具体原型类中的clone()方法来复制新的对象 模型的实现 原型模式的克隆分为浅克隆和深克隆 //具体原型类 class Realizetype implements Clineable { Realizetype() { System.out.println("具体原型创建成功!"); } public Object clone() throw CloneNotSuppportedExce...阅读全文

博文 2019-05-10 00:34:55 简书帅气的昵称已被使用

提高单元测试用例覆盖率

image 在软件工程领域,无论对于前端或是后端工程师都必须对自己的代码质量负责,尤其是后端工程师,高度的单元测试覆盖率是最有效的手段之一。 以Java代码为例,有着Junit、Mockito等开源单元测试框架,并且非常便于测试集成。Golang自身便带有单元测试模块,都是为提高软件质量而设计的,优秀的开源框架其单元测试覆盖率都非常高,才能为其软件质量提供保障。 一名优秀的后端工程师必须具备编写单元测试的习惯,而且测试覆盖率越高你的软件质量也就越好,其次高度覆盖的测试用例方便软件的迭代与维护,能够有助于后者快速理解代码与定位问题。 高覆盖体现在测试用例覆盖public方法、函数中的if-else等逻辑、参数检查、内部定义等。 这里以Junit和Google的Truth为案例展示一个测试用例案...阅读全文

博文 2019-06-10 15:32:49 Lance徐绍校

golang test说明解读

go test是go语言自带的测试工具,其中包含的是两类,单元测试和性能测试 通过go help test可以看到go test的使用说明: ### 格式形如: go test [-c] [-i] [build flags] [packages] [flags for test binary] ### 参数解读: -c : 编译go test成为可执行的二进制文件,但是不运行测试。 -i : 安装测试包依赖的package,但是不运行测试。 关于build flags,调用go help build,这些是编译运行过程中需要使用到的参数,一般设置为空 关于packages,调用go help packages,这些是关于包的管理,一般设置为空 关于flags for test binary,...阅读全文

博文 2018-09-28 16:39:07 RomyMing

谈谈测试和代码质量

毕业找工作那会,有个开发的同学被分配去做测试,当时很不理解。为什么他平时都是用 Java,怎么去做测试呢?当时对测试的认知就是点点点。在工作一段时间后,对于测试依然有一定程度的偏见。为什么有偏见,还不是因为无知!人类对于不了解的东西,很容易形成偏见。当时觉得开发的功能,进行一下简单的测试就可以了,功能正常就 OK 了。也一直是这么做的,也没有出什么大问题。毕竟框架都是现成的,写写业务代码没啥难度。后来自己开始开发新的通用模块,上层很多业务都需要用到的功能模块。第一版功能实现后,后续就不怎么敢修改了。即使修改,也是战战兢兢的,担心引发大规模的问题。如果只是自己用,出问题了还可以控制,关键是我们开发的是 API,只要出问题,依赖我们的各个程序都会有问题,这个影响就不可控了。并且问题总是会延迟很久...阅读全文

博文 2019-03-11 09:34:44 Qingyuan清远

Golang单例模式(非线程安全)

singleton.go // singleton.go package singleton type singleton struct { count int } var instance *singleton func GetInstance() *singleton { if instance == nil { instance = new(singleton) } return instance } func (s *singleton) AddOne() int { s.count++ return s.count } func (s *singleton) GetCount() int { return s.count } singleton_test.go // singlet...阅读全文

博文 2019-06-18 19:32:44 FredricZhu

[leetcode in golang]83、删除排序链表中的重复元素

/** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } */ func deleteDuplicates(head *ListNode) *ListNode{ if head==nil||head.Next==nil{ return nil } for head!=nil&&head.Next!=nil{ if head.Val==head.Next.Val{ head.Next=head.Next.Next }else{ head=head.Next } return head } return nil /** * Definition for sing...阅读全文

博文 2019-09-25 00:32:50 aside section ._1OhGeD

Golang的REST API的单元测试

用不同的语言、不同的方法和设计模式构建RESTful api一直是一种趋势,就像学习过程中遇到的困难一样。这是因为代码中有很多抽象、启动项目的痛苦以及更多的原因。在此基础上,为实现的服务编写测试用例也是一件麻烦事。 Go为您提供了以非常简单,优雅和简洁的方式编写REST API的特权。除此之外,Go中的单元测试也非常简单,只需一个命令即可运行测试用例。 由于本文只是在Go中编写单元测试用例,我假设您将知道如何在Go中编写REST实现。 为了更深入地了解这个简单的赋值,您可以查看此示例。 我已经附加了postman集合以便于导入,sql转储以及附加的自述文件,以便您可以开始使用简单的赋值。 所以让我们开始 - 如果我们考虑一个编写测试用例的例子会更好。假设我们想要一个Online Addres...阅读全文

博文 2019-08-04 01:32:41 开心人_4837

golang-crc16( C语言的翻译版)

C语言 ``` static const U16 crctab16[] = { 0X0000, 0X1189, 0X2312, 0X329B, 0X4624, 0X57AD, 0X6536, 0X74BF, 0X8C48, 0X9DC1, 0XAF5A, 0XBED3, 0XCA6C, 0XDBE5, 0XE97E, 0XF8F7, 0X1081, 0X0108, 0X3393, 0X221A, 0X56A5, 0X472C, 0X75B7, 0X643E, 0X9CC9, 0X8D40, 0XBFDB, 0XAE52, 0XDAED, 0XCB64, 0XF9FF, 0XE876, 0X2102, 0X308B, 0X0210, 0X1399, 0X6726, 0X76AF, 0X4434...阅读全文

博文 2019-02-21 18:45:17 xiaohaoxiong

Golang设计模式——工厂模式

package fatory import "fmt" type Device interface{ StartDevice() } type KeyBoard struct { } func (k *KeyBoard) StartDevice(){ fmt.Println("Keyboard is ready to work!") } type Mouse struct { } func (m *Mouse) StartDevice(){ fmt.Println("Mouse is ready to work!") } func NewDevice(device string)Device{ switch device{ case "k": return &KeyBoard{} case ...阅读全文

博文 2020-05-18 06:33:43 筑梦攻城狮

单例模式

Golang 单例模式的几种形式 1.非线程安全,虽然说是单例模式,但是如果实例正在创建中,此时多个线程同时访问,就会获得多个结果 package main var instance *Singleton type Singleton struct { } func Instance() *Singleton{ if instance == nil { instance = &Singleton{} } return instance } 加锁单例模式 package main import "sync" var ( instance *Singleton mu sync.Mutex ) type Singleton struct { } func Instance() *Singleton...阅读全文

博文 2019-06-22 02:32:38 布衣码农

Golang测试用例和cp程序制作基准测试注意事项

test测试用例 测试用例的文件名必须以XXX_test.go的格式. cp程序制作q<115.28.8.00.9.9> 文件名的XXX不必一定和被测试文件的名称一样,但是保持一致是一个很好的习惯. 测试用例中的测试函数名必须是TestXXX(t *testing.T)如此定义,否则不执行 每一个test文件必须要import一个testing包 go test或者go test -v命令测试当前包目录下的所有的tests 用t.Errorf来打印错误信息,会输出错误信息,并且跳过当前测试函数 t.SkipNow()跳过当前测试并且直接按PASS处理继续下一个test go的test不会保证多个TestXXX()是顺序执行的,但是通常会顺序执行 要保持顺序执行需要使用subTest,即在te...阅读全文

博文 2019-08-03 22:34:05 有我也有你

leetcode_32

Golang: 思路:动态规划,这题用二维数组也可以解,但不能通过所有测试用例,所以要用一维的 代码如下: func longestValidParentheses(s string) int { res:=0 arr:=make([]int,len(s)) for i:=0;i=0 { if s[i-1]=='(' { if i-2>=0 { arr[i]=arr[i-2]+2 }else{ arr[i]=2 } }else{ if i-arr[i-1]-1>=0&&arr[i-1]>0&&s[i-arr[i-1]-1]=='('{ if i-arr[i-1]-2>=0{ arr[i]=arr[i-1]+2+arr[i-a...阅读全文

博文 2020-03-08 17:32:44 淳属虚构