GO语言(十八):模糊测试入门(下)-
Reverse为了解决这个问题,如果输入不是有效的 UTF-8 ,让我们返回一个错误。
站在用户的角度思考问题,与客户深入沟通,找到北票网站设计与北票网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站制作、成都做网站、企业官网、英文网站、手机端网站、网站推广、国际域名空间、网站空间、企业邮箱。业务覆盖北票地区。
a.在您的文本编辑器中,将现有Reverse函数替换为以下内容。
如果输入字符串包含无效的 UTF-8 字符,此更改将返回错误。
b.由于 Reverse 函数现在返回错误,因此修改main函数以丢弃额外的错误值。将现有main功能替换为以下内容。
这些调用Reverse应该返回一个 nil 错误,因为输入字符串是有效的 UTF-8。
c.您将需要导入错误和 unicode/utf8 包。main.go 中的 import 语句应如下所示。
d.修改reverse_test.go文件检查是否有错误,如果返回产生错误则跳过测试。
除了返回之外,您还可以调用t.Skip()以停止执行该模糊输入。
a.使用 go test 运行测试
b.使用go test -fuzz=Fuzz进行模糊测试,几秒钟后,停止用ctrl-C模糊测试。
除非您通过-fuzztime标志进行限制,否则模糊测试将一直运行,直到遇到失败的输入。如果没有发生故障,默认是永远运行,并且可以使用 中断该过程ctrl-C。
c. 使用go test -fuzz=Fuzz -fuzztime 30s。如果没有30 秒发现失败,它会在退出模糊测试。
模糊测试通过了!
做得很好!您刚刚学习了在 Go 中进行模糊测试。
— main.go —
— reverse_test.go —
Go语言中的符号"
左移运算符()
将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)。
例:a = a 2 将a的二进制位左移2位,右补0,
左移1位后a = a * 2;
若左移时舍弃的高位不包含1,则每左移一位,相当于该数乘以2。
右移运算符()
将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃。
操作数每右移一位,相当于该数除以2。
例如:a = a 2 将a的二进制位右移2位,
左补0 or 补1 得看被移数是正还是负。
4bt能作为go语音的标识符吗
不能。和其它语言一样,4bt关键字不能够作标识符使用。标识符标识符是指Go语言对各种变量、方法、函数等命名时使用的字符序列,标识符由若干个字母。
库卡如何定义标识符
在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变量名、常量名、函数名等等。 Go语言中标识符由字母数字和_(下划线)组成,并且只能以字母和_开头。
新闻标题:go语言中有效标识符 go语言标志
标题链接:http://scgulin.cn/article/dogidgo.html