Go语言 访问切片中包含的字符串

cqoc49vn  于 2022-12-25  发布在  Go
关注(0)|答案(1)|浏览(118)

为了更好地理解Go语言,我正在做一些编码练习。一个给定的练习指导我创建一个接受用户输入的程序,如下所示:

  • 第一行指定将在单独的行中提供多少字符串作为输入
  • 随后的N行将分别是单个字符串

我输出的字符对应于偶数和奇数索引的每一个字符串分隔一个空格,并在它的每一行字符串。
输入示例:

2
foo_bar
fizz_buzz

应输出:

fobr o_a
fz_uz izbz

但是在我的程序中,访问一个字符串切片返回一个空字符串:
一个二个一个一个

kmpatx3s

kmpatx3s1#

因为当你make你的strings切片时,你创建了一个容量和长度都为n的切片,所以当你追加它的时候,你增加了切片的长度:

更改此代码位:

// create a slice of strings to hold provided strings
strings := make([]string, num_strings)

// add provided strings to slice
for i := 0; i < num_strings; i++ {
  var temp string
  fmt.Scan(&temp)
  strings = append(strings, temp)
}

更改为:

// create a slice of strings to hold provided strings
strings := []{}

// add provided strings to slice
for i := 0; i < num_strings; i++ {
  var temp string
  fmt.Scan(&temp)
  strings = append(strings, temp)
}

或者

// create a slice of strings to hold provided strings
strings := make([]string, num_strings)

// add provided strings to slice
for i := 0; i < num_strings; i++ {
  var temp string
  fmt.Scan(&temp)
  strings[i] = temp
}

你应该很好。

相关问题