Go中的布尔函数

时间:2017-01-09 15:30:15

标签: go

请帮助,我是Go的新手。我写函数传递一个字符串正则表达式并返回boolan。在验证出生日期的正确格式时,我的测试仍然失败。

我的测试:

func TestIsMatchingRegex(t *testing.T) {
t.Parallel()
var tests = []struct {
        dob      string
        reg      string
        expected bool
        desc     string
    }{
        {dob: "1928-06-05", reg: `[12][0-9]{3}-[01][0-9]-[0-3][0-9]`, expected: true, desc: "test1"},
        {dob: "1928/06/05", reg: `[12][0-9]{3}-[01][0-9]-[0-3][0-9]`, expected: false, desc: "test2"},
    }
    for _, test := range tests {
        actual := IsMatchingRegex(test.dob, test.reg)
        assert.Equal(t, actual, test.expected, test.desc)
    }

}

匹配函数boolean

func IsMatchingRegex(s string, regex string) bool {
validFormat := regexp.MustCompile(regex)
matched := validFormat.MatchString(s)
if validFormat {
    return false
}

return true
}

1 个答案:

答案 0 :(得分:1)

您的测试没有失败,无法编译,因为std::vector <cv::Mat> repeat(cv::Mat img, uint32_t nx, uint32_t ny, uint32_t z) { return std::vector<cv::Mat>(z, cv::repeat(img, nx, ny)); } validFormat而不是Regexp

你的bool是bool,但你可以简单地返回matched的结果(或者根本不使用单独的函数,因为它只是一行)

MatchString