一、leetcode的算法题

  1. package main
  2.  
  3. import (
  4. "fmt"
  5. "strings"
  6. )
  7.  
  8. func lengthOfNonRepeatingSubStr(s string)int{
  9. lastOccurred :=make(map[rune]int)
  10. start:=0
  11. maxLength:=0
  12. //将字符串转成 ASCII 码的切片,循环获取下标与值
  13. for i,ch:=range []rune(s){
  14. if lastI,ok:=lastOccurred[ch];ok && lastI>=start{
  15. start=lastOccurred[ch]+1
  16. }
  17. if i-start+1>maxLength {
  18. maxLength=i-start+1
  19. }
  20. lastOccurred[ch]=i
  21. }
  22. return maxLength
  23. }
  24. func main() {
  25. fmt.Println(
  26. lengthOfNonRepeatingSubStr("abcabcbb"),
  27. lengthOfNonRepeatingSubStr("bbbbb"),
  28. lengthOfNonRepeatingSubStr("阿斯顿法国规划开发阿斯顿发放"))
  29.  
  30. fmt.Println([]byte("asfsawersd"))
  31.  
  32. str1:="sdfsad asdfsadf sad;fasfd"
  33. s:=strings.Fields(str1)
  34. for index,value:=range s {
  35. fmt.Println(index,value)
  36. }
  37. }

二、普通测试代码

  1. package main
  2.  
  3. import "testing"
  4.  
  5. func TestSubstr(t *testing.T) {
  6. tests:=[]struct{
  7. s string
  8. ans int
  9. }{
  10. {"abssafds",4},
  11. {"pwwkew",3},
  12. {"",0},
  13. {"b",1},
  14. {"bbbbbbbb",1},
  15. {"asadfasdf",4},
  16. }
  17.  
  18. for _,tt:=range tests {
  19. actual:=lengthOfNonRepeatingSubStr(tt.s)
  20. if actual !=tt.ans{
  21. t.Errorf("got %d for input %s:"+"expected %d",actual,tt.s,tt.ans)
  22. }
  23. }
  24. }
  25.  
  26. #测试通过
  27. #=== RUN TestSubstr
  28. #--- PASS: TestSubstr (0.00s)
  29. #PASS
  30.  
  31. #测试错误
  32. #修改错误的数据{"pwwkew",2},
  33. #=== RUN TestSubstr
  34. #--- FAIL: TestSubstr (0.00s)
  35. # leetcode_test.go:21: got 3 for input pwwkew:expected 2
  36. #FAIL

三、性能测试代码

  1. func BenchmarkSubstr(b *testing.B){
  2. s:="黑化肥挥发发灰会花飞灰化肥挥发发黑会飞花"
  3. ans:=8
  4.  
  5. for i:=0;i<b.N;i++{
  6. actual:=lengthOfNonRepeatingSubStr(s)
  7. if actual !=ans {
  8. b.Errorf("got %d for input %s; "+"expected %d",actual,s,ans)
  9. }
  10. }
  11. }
  12.  
  13. #执行结果
  14. #goos: windows
  15. #goarch: amd64
  16. #pkg: awesomeProject/leetcode
  17. #运行了100万次,每次运行用了1362ns
  18. #BenchmarkSubstr-8 1000000 1361 ns/op
  19. #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. Codeforces 1174C Ehab and a Special Coloring Problem

    题目链接:http://codeforces.com/problemset/problem/1174/C 题意:给你一个n,要你填充 下标由2 ~ n 的数组ai,要求下标互质的俩个数不能相等,并且数 ...

  2. 纯CSS3制作的“Ribbons”效果

    在看具体每个demo之前,我们一起来看下面一个截图: 上图是一个典型的“Ribbons”各部位的示意图,但每一个“Ribbons”并不会都使用上图示意的各个部分,在下面的实例中大家可以明显的看 到或者 ...

  3. 《DSP using MATLAB》Problem 9.2

    前几天看了看博客,从16年底到现在,3年了,终于看书到第9章了.都怪自己愚钝不堪,唯有吃苦努力,一点一点一页一页慢慢啃了. 代码: %% ------------------------------- ...

  4. jdbc_mysql----函数助手参数化

    第一个值填写的是文件路径 第二个值填写的是从第几个开始执行,从0开始

  5. 《软件调试修炼之道》Part 1(CH1~5)读书笔记 PB16110698 第八周(~4.26)

    编程中,调试几乎是必不可少的,一劳永逸.一次完成预想功能而完全不出bug的情况凤毛麟角,出现bug→调试→再出现bug→再调试……基本是软件工程中的常态.可以说,软件调试是每个coder的必修课,而& ...

  6. 如何在CRichEditCtrl控件中直接读如RTF格式的文件(这个是通过流的方式来读取文件)

    如何在CRichEditCtrl控件中直接读如RTF格式的文件   Inserting an RTF string using StreamIn   ------------------------- ...

  7. golang中使用gorm连接mysql操作

    一.代码 package main import ( "fmt" "github.com/jinzhu/gorm" _ "github.com/go- ...

  8. VS2010-MFC(工具栏:工具栏的创建、停靠与使用)

    转自:http://www.jizhuomi.com/software/217.html 上一节教程讲了工具栏资源及CToolBar类,本节继续讲解工具栏的相关知识,主要内容包括工具栏的创建.停靠与使 ...

  9. HDU-1492-The number of divisors(约数) about Humble Numbers -求因子总数+唯一分解定理的变形

    A number whose only prime factors are 2,3,5 or 7 is called a humble number. The sequence 1, 2, 3, 4, ...

  10. 左神算法基础班5_1设计RandomPool结构

    Problem: 设计RandomPool结构 [题目] 设计一种结构,在该结构中有如下三个功能: insert(key):将某个key加入到该结构,做到不重复加入. delete(key):将原本在 ...