Golang代码生成特定的顺序单词组合?

时间:2015-11-11 16:23:03

标签: go

我正在尝试在GoLang中编写代码并且正在努力,因为我仍在学习很多东西。我想要一个代码来执行以下操作:

生成两个单词的顺序组合列表,例如

Word Group One:A,B,C,..... J

第二组:K,L,M,...... T

需要的清单:

Test_A_K, Test_A_L, Test_A_M,

Test_B_K, Test_B_L, Test_B_M,

用于“Test_Word Group One_Word Group Two”的所有组合

我试图从这个网站实现一些其他代码,但我不确定我是否正在做正确的事情 - 任何指针都将非常感激

谢谢!

1 个答案:

答案 0 :(得分:1)

您可能需要嵌套的for循环。例如,

package main

import "fmt"

func pairs(words1, words2 []string) []string {
    pairs := make([]string, 0, len(words1)*len(words2))
    for _, word1 := range words1 {
        for _, word2 := range words2 {
            pairs = append(pairs, word1+"_"+word2)
        }
    }
    return pairs
}

func main() {
    w1 := []string{"a", "b", "c", "j"}
    fmt.Printf("%q\n", w1)
    w2 := []string{"k", "l", "m", "t"}
    fmt.Printf("%q\n", w2)
    p := pairs(w1, w2)
    fmt.Printf("%q\n", p)
}

输出:

["a" "b" "c" "j"]
["k" "l" "m" "t"]
["a_k" "a_l" "a_m" "a_t" "b_k" "b_l" "b_m" "b_t" "c_k" "c_l" "c_m" "c_t" "j_k" "j_l" "j_m" "j_t"]