我是Go的新手,我有两个问题:
1假设我们使用C#编写简单的循环:
static void Main(string[] args)
{
List<int> list = new List<int>();
for (int i = 1; i < 10000; i++)
{
if (i % 5 == 0 && i % 3 == 0)
{
list.Add(i);
}
}
foreach (int prime in list)
{
System.Console.WriteLine(prime);
}
Console.ReadKey();
}
如果我想在Go中做同样的事情,我将不得不使用切片。但是怎么做呢?
答案 0 :(得分:1)
1)创建一个切片:
list := make([]int, 0)
附加到:
的切片list = append(list, i)
2)我认为你的第二个问题没有单一答案。这取决于变量的使用方式和位置。
答案 1 :(得分:1)
在Go数组中有它们的位置,但是它们有点不灵活,所以在Go代码中你不会经常看到它们。然而,切片无处不在。它们以阵列为基础,提供强大的动力和便利。
切片的长度不固定。它很灵活。
您可以声明一个空切片,如下所示
list := make([]int, 0)
list := []int{}
var list []int
以下是如何在go
中使用上述功能package main
import (
"fmt"
)
func main() {
var list []int
for i:=0;i<10000;i++ {
if i %5 == 0 && i % 3 == 0 {
list = append(list, i)
}
}
for _, val := range list {
fmt.Println(val)
}
}
以下是播放链接play
答案 2 :(得分:0)
2) 我用&#34;:=&#34;因为我想与另一个变量获得相同的类型,并使用其他 喜欢 var foo int = 3 //我想要一个int变量 bar:= foo //我想要与foo相同的类型