给定一个字符串列表,在原有slice基础上,返回不包含空字符串的slice。
如:{“aaa”, “bbb”, “ccc”, “”, “aa”, “”, “bb”, “”, “cc”}
返回:{“aaa”, “bbb”, “ccc”, “aa”, “bb”, “cc”}
package main import "fmt" // 去除字符串切片中的空字符串 func strRemoveBlank(data []string) []string { var result []string for _, v := range data { if v != "" { result = append(result, v) } } return result } func main() { data := []string{"aaa", "bbb", "ccc", "", "aa", "", "bb", "", "cc"} fmt.Println(data) result := strRemoveBlank(data) fmt.Println(result) fmt.Println("==================") for k, v := range result { fmt.Println(k, v) } }
写一个函数,清除[]string中的重复字符串。
如:[“aa”,“bb”,“cc”,“aa”,“bb”,“cc”,“aa”,“bb”,“cc”]
结果:[“aa”,“bb”,“cc”]
package main import "fmt" // 去除字符串切片中的重复字符串 func strRemoveRepeated(data []string) []string { var result []string for _, v := range data { if !strIsInSlice(v, result) { result = append(result, v) } } return result } // 判断字符串是否在字符串切片中 func strIsInSlice(str string, slice []string) bool { for _, v := range slice { if str == v { return true } } return false } func main() { data := []string{"aa", "bb", "cc", "aa", "bb", "cc", "aa", "bb", "cc"} fmt.Println(data) result := strRemoveRepeated(data) fmt.Println(result) fmt.Println("===============================") for k, v := range result { fmt.Println(k, v) } }