2012-10-29 56 views
3

我只是想知道是否有同时遍历两个字符串任何美丽的方式两个字符串:遍历同时

var ascii_runes = []rune(string_1) 
var shifted_runes = []rune(string_2) 

for i := 0; i < len(string_1); i++ { 
    fmt.Println(string(ascii_runes[i]) + string(shifted_runes[i])) 
} 

回答

4

不知道IIUC,但例如:

package main 

import (
     "fmt" 
) 

var (
     ascii = []rune("string1") 
     shifted = []rune("STRING!") 
) 

func main() { 
     for i, v := range ascii { 
       fmt.Printf("%c%c\n", v, shifted[i]) 
     } 
} 

另外这里:http://play.golang.org/p/2ruvLFg_qe


输出:

sS 
tT 
rR 
iI 
nN 
gG 
1! 
+0

不知道你可以声明这样的变量 - 非常酷! +1 – RocketDonkey

+1

错误警报:'如果len(ascii)> len(移位)'? – peterSO

+1

@peterSO:如果len(ascii)!= len(移位),肯定需要。我不清楚这是否是OP的领域。你怎么看? – zzzz

2

例如,

package main 

import "fmt" 

func main() { 
    var runes_1, runes_2 = []rune("string_1"), []rune("string_2") 
    for i := 0; i < len(runes_1) && i < len(runes_2); i++ { 
     fmt.Println(string(runes_1[i]) + string(runes_2[i])) 
    } 
} 

输出:

ss 
tt 
rr 
ii 
nn 
gg 
__ 
12