Switch language
zh
Switch theme
Light
  • Exercise_go_unit_test_是否回文

    编写一个回文检测函数,并为其编写单元测试和基准测试,根据测试的结果逐步对其进行优化。(回文:一个字符串正序和逆序一样,如“Madam,I’mAdam”、“油灯少灯油”等。) 来源:李文周blog tip: 要考虑中文则使用 rune // palindrome/palindrome.go package palindrome func IsPalindrome(s string) bool { // 转成 rune, 应对中文等特殊字符 r := []rune(s) l := len(r) for i := 0; i < l/2; i++ { if r[i] != r[l-1-i] { return false } } return true } // palindrome/palindrome_test.go package palindrome import ( "fmt" "testing" ) func TestIsPalindrome(t *testing.T) { type test struct { text string want bool } arr := []test{ {"", true}, {"a", true}, {"aa", true}, {"ab", false}, {"aba", true}, {"abcba", true}, {"abccba", true}, {"abcdabcd", false}, {"Madam,I’mAdam", false}, {"油灯少灯油", true}, } for _, tc := range arr { t.
🍀