gpt4 book ai didi

go - 如何在 Go 中创建不固定长度的 slice

转载 作者:数据小太阳 更新时间:2023-10-29 03:33:08 26 4
gpt4 key购买 nike

我是 Go 的新手,我有 2 个问题:

1 假设我们有一个用 C# 编写的简单 for 循环:

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 中做同样的事情,我将不得不使用 slice 。但是怎么做呢?

  1. 哪种变量声明形式更常用:短格式 (s:= 3)要么长(var s int = 3)?

最佳答案

在 Go 中数组有它们的位置,但它们有点不灵活,所以你不会经常在 Go 代码中看到它们。不过, slice 无处不在。它们以阵列为基础,提供强大的功能和便利性。

slice 不是固定长度的。它很灵活。

你可以声明一个空 slice 如下

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

关于go - 如何在 Go 中创建不固定长度的 slice ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41369804/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com