我是 Go 语言的新手,在代码中遇到麻烦,无法在 go 中找到独特的元素。

   var arr [10]string 
      arr[0]="table" 
      arr[1]="chair" 
      arr[2]="table" 
      arr[3]="table" 
      arr[4]="chair" 
      arr[5]="bench" 
      arr[6]="table,chair" 
      arr[7]="bench,chair" 
      arr[8]="chair,table,bench" 
      arr[9]="car" 

输出应该是这样的:

table  
chair 
bench 
car 

我真的被困在这个问题上了。如何从上面的数组中获取唯一元素。 该数组还包含逗号分隔值,但我只需要打印唯一元素。

请有人帮我解决这个问题。

感谢提前。

请您参考如下方法:

思路:使用map[string]bool收集唯一元素,使用strings.Split将逗号分隔的单词列表拆分为字符串。

示例:http://play.golang.org/p/sBopFGrzbX

package main 
 
import ( 
    "fmt" 
    "strings" 
) 
 
func main() { 
    arr := [...]string{ 
        "table", 
        "chair", 
        "table", 
        "table", 
        "chair", 
        "bench", 
        "table,chair", 
        "bench,chair", 
        "chair,table,bench", 
        "car", 
    } 
 
    m := make(map[string]bool) 
    for _, e := range arr { 
        for _, w := range strings.Split(e, ",") { 
            m[w] = true 
        } 
    } 
 
    for k, _ := range m { 
        fmt.Println(k) 
    } 
} 


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!