一、leetcode的算法题

package main

import (
"fmt"
"strings"
) func lengthOfNonRepeatingSubStr(s string)int{
lastOccurred :=make(map[rune]int)
start:=0
maxLength:=0
//将字符串转成 ASCII 码的切片,循环获取下标与值
for i,ch:=range []rune(s){
if lastI,ok:=lastOccurred[ch];ok && lastI>=start{
start=lastOccurred[ch]+1
}
if i-start+1>maxLength {
maxLength=i-start+1
}
lastOccurred[ch]=i
}
return maxLength
}
func main() {
fmt.Println(
lengthOfNonRepeatingSubStr("abcabcbb"),
lengthOfNonRepeatingSubStr("bbbbb"),
lengthOfNonRepeatingSubStr("阿斯顿法国规划开发阿斯顿发放")) fmt.Println([]byte("asfsawersd")) str1:="sdfsad asdfsadf sad;fasfd"
s:=strings.Fields(str1)
for index,value:=range s {
fmt.Println(index,value)
}
}

二、普通测试代码

package main

import "testing"

func TestSubstr(t *testing.T)  {
tests:=[]struct{
s string
ans int
}{
{"abssafds",4},
{"pwwkew",3},
{"",0},
{"b",1},
{"bbbbbbbb",1},
{"asadfasdf",4},
} for _,tt:=range tests {
actual:=lengthOfNonRepeatingSubStr(tt.s)
if actual !=tt.ans{
t.Errorf("got %d for input %s:"+"expected %d",actual,tt.s,tt.ans)
}
}
} #测试通过
#=== RUN TestSubstr
#--- PASS: TestSubstr (0.00s)
#PASS #测试错误
#修改错误的数据{"pwwkew",2},
#=== RUN TestSubstr
#--- FAIL: TestSubstr (0.00s)
# leetcode_test.go:21: got 3 for input pwwkew:expected 2
#FAIL

三、性能测试代码

func BenchmarkSubstr(b *testing.B){
s:="黑化肥挥发发灰会花飞灰化肥挥发发黑会飞花"
ans:=8 for i:=0;i<b.N;i++{
actual:=lengthOfNonRepeatingSubStr(s)
if actual !=ans {
b.Errorf("got %d for input %s; "+"expected %d",actual,s,ans)
}
}
} #执行结果
#goos: windows
#goarch: amd64
#pkg: awesomeProject/leetcode
#运行了100万次,每次运行用了1362ns
#BenchmarkSubstr-8 1000000 1361 ns/op
#PASS

golang的表格驱动测试的更多相关文章

  1. Selenium(十四):自动化测试模型介绍、模块化驱动测试案例、数据驱动测试案例

    1. 自动化测试模型介绍 随着自动化测试技术的发展,演化为了集中模型:线性测试.模块化驱动测试.数据驱动测试和关键字驱动测试. 下面分别介绍这几种自动化测试模型的特点. 1.1 线性测试 通过录制或编 ...

  2. TODO:Golang UDP连接简单测试慎用Deadline

    TODO:Golang UDP连接简单测试慎用Deadline UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interco ...

  3. Win8驱动测试模式

    打开驱动测试模式(保存成bat文件,双击执行) bcdedit /set testsigning on pause 执行完成后,看见提示操作成功的提示,之后我们重启一下,再次进入系统,在桌面的右下角会 ...

  4. selenium+python(模块化驱动测试)

    模块化驱动测试,就是借鉴编程语言中模块化的思想,把重复的操作独立成功公告模块,懂用例执行过程中需要用到这一模块操作时则被调用,这样可以极大的消除重复从而提高测试用例的可维护性 下面具体以126邮箱为例 ...

  5. linux驱动开发之九鼎板载蜂鸣器驱动测试【转】

    本文转载自:http://whylinux.blog.51cto.com/10900429/1932491 字符设备驱动用的fileopretion结构体. 1.板载蜂鸣器的驱动测试 我手里有一个BS ...

  6. DevOps on DevCloud|如何实现应用接口的混合驱动测试

    引言:在"DevOps能力之屋(Capabilities House of DevOps)"中,华为云DevCloud提出(工程方法+最佳实践+生态)×工具平台=DevOps能力. ...

  7. 流程及迭代驱动测试管理软件, itest 发布到开源中国

    itest 源码已发布到码云 ,项目已被开源中国收录!详见  https://www.oschina.net/p/itest-cn 测试人自己开发,汇聚10年沉淀,独创流程驱动测试.度量展现测试人价值 ...

  8. web自动化测试-模块驱动测试实例和数据驱动测试实例

    一.模块驱动测试实例 把登录和退出统一封装在login类中,若把login类单独放在一个文件中,就可以给任一测试脚本调用,这里就跟测试脚本放一起 from selenium import webdri ...

  9. 多层If语句 和 表格驱动 的对比

    网文提到表格驱动,总喜欢拿一层if做例子,然而这样未免也太简单. 下文是三层缩进的if和表驱动比较,大家可自行判断优劣. 业务是这样的,某景点分旺季票价和淡季票价,淡季票为旺季的一半,15岁以下孩子再 ...

随机推荐

  1. 零基础入门学习python--第一章

    知识点汇总1. Python的应用范围:操作系统.3D动画.WEB.企业应用.云计算等.2. Python是什么类型的语言?脚本语言,即电脑编程语言,比C.C++或java之类的系统编程语言简单容易. ...

  2. 最接近神的人_NOI导刊2010提高(02)

    题目描述 破解了符文之语,小FF开启了通往地下的道路.当他走到最底层时,发现正前方有一扇巨石门,门上雕刻着一幅古代人进行某种活动的图案.而石门上方用古代文写着“神的殿堂”.小FF猜想里面应该就有王室的 ...

  3. std::unorder_set你插入元素的顺序不一定就是元素在里面的元素

    去看了下cppreference,里面写了 根据哈希值排序了

  4. Java oop第05章_多态、接口

    一. 为什么需要接口? Java中当一个类继承父类时,最多也只能继承一个父类,扩展性会受到一定的限制,为了弥补这一缺陷,Java又提供了一种新的引用数据类型分类,叫接口. 一个类只能继承一个父类,但可 ...

  5. Pod 私有仓库构建

    Pod 私有仓库构建 创建`私有仓库索引库`(iOS) 添加`私有仓库索引库`到本地repo管理 创建自己的`组建库工程 上传`组建库工程`到`私有仓库索引库` App工程调用`组建库工程` 目的 私 ...

  6. Task ProgressBar模拟现实完成后显示TextBox

    private async void Form1_Load(object sender, EventArgs e) { progressBar1.Maximum = ; progressBar2.Ma ...

  7. 数据库MySQL--子查询

    例子文件1:https://files.cnblogs.com/files/Vera-y/myemployees.zip 子查询:又称内查询,出现在其他语句中的select语句 主查询:又称外查询,内 ...

  8. sublime text-----查看当前文件的编码格式

    1.preferences->settings,在user中添加 "show_encoding": true, "show_line_endings": ...

  9. C(n,m)的奇偶性判断

    C(n,m)的奇偶性判断奇数:当且仅当(n&m)==m偶数:否则为偶数证明:根据卢卡斯定理,c(n,m)%2=c(n%2,m%2)*c((n>>1),(m>>1))%2 ...

  10. SQL Server install

    { https://www.cnblogs.com/ios9/p/9527939.html https://www.cnblogs.com/ios9/p/9527815.html //在安装工具中 安 ...