当前位置: 首页 > 面试题库 >

是否支持动态变量?

拓拔麒
2023-03-14
问题内容

我想知道是否可以在Go中动态创建变量?

我在下面提供了一个伪代码来说明我的意思。我将新创建的变量存储在一个切片中:

func method() {
  slice := make([]type)
  for(i=0;i<10;i++)
  {
    var variable+i=i;
    slice := append(slice, variablei)
  }
}

循环的最后,切片应包含变量:variable1,variable2 … variable9


问题答案:

Go没有动态变量。大多数语言中的动态变量都实现为Map(哈希表)。

因此,您可以在代码中包含以下地图之一,该地图可以完成您想要的操作

var m1 map[string]int 
var m2 map[string]string 
var m3 map[string]interface{}

这是执行您的操作的Go代码

http://play.golang.org/p/d4aKTi1OB0

package main

import "fmt"


func method() []int {
  var  slice []int 
  for i := 0; i < 10; i++  {
    m1 := map[string]int{}
    key := fmt.Sprintf("variable%d", i)
    m1[key] = i
    slice = append(slice, m1[key])
  }
  return slice
}

func main() {
    fmt.Println(method())
}


 类似资料:
  • 所谓的动态变量判断指的是判断一个变量是否等于另一个变量,看如下例子: 控制器代码: $this->assign('a1', 1); $this->assign('a2', 1);

  • 问题内容: 在eclipse中,我可以在启动配置的vm args或program args中包含以下内容: 运行此命令时,会在弹出窗口中弹出一个字符串提示,显示说明文本,并使用默认值进行准备,它使您可以轻松地在每次运行应用程序时注入属性。 我经常使用它来指定是否需要应用程序的开发实例或测试实例。您还可以选择机器特定的配置,这对于在开发人员之间共享这些启动配置很有用。 IntelliJ Idea是否

  • 问题内容: 我想知道是否可以在Go中为未知数量的变量定义函数。 像这样 我想对任意数量的输入进行泛化。 问题答案: 据我所知,您已经了解了很多,但是语法是。见规格: 给定功能并调用 在Greeting中,将具有价值

  • 问题内容: 对于Chrome / Safari和Firefox,具有和属性。如何使用IE9做同样的事情? 问题答案: 嗯,IE9尚未完成,但是到目前为止,您似乎必须使用SVG。我不知道IE9中是否有任何-ms- gradient或gradient支持。到目前为止,令我烦恼的另一件事是文本阴影。

  • 我正在尝试使用柯特林 V1.2.70、Gradle V4.10.1 和 Java 11。使用 gradle 编译项目时,出现错误,指出“未知的 JVM 目标版本:11。支持的版本:1.6,1.8“。 Kotlin 编译器是否支持 Java 11(生成与 Java 11 JVM 兼容的代码)?如果是这样,如何使用渐变配置?

  • 问题内容: 因此,我希望将其转换为这样的Java代码: JAXB是否可能? 曾经看到一些WebService Client存根生成器正在执行此操作,但也许不确定axis2 Webservice。 问题答案: 的 JAXB(JSR-222) 规范没有盖产生快速失败逻辑到域模型。现在,一种常见的做法是以注释(或XML)的形式表示验证规则,并对它们进行验证。 Bean验证(JSR-303) 对此进行了标