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

创建带有/不带有make的地图

束雅达
2023-03-14
问题内容

两者之间到底有什么区别

var m = map[string]int{}

var m = make(map[string]int)

第一个只是加快字段初始化速度的捷径吗?有性能方面的考虑吗?


问题答案:

第二种形式总是创建一个空的地图。

第一种形式是地图文字的特殊情况。地图文字允许创建 非空 地图:

m := map[bool]string{false: "FALSE", true: "TRUE"}

现在,您的(通用)示例

m := map[T]U{}

是没有初始值(键/值对)的地图文字。它完全等同于:

m := make(map[T]U)

此外,make这是为地图指定初始容量(大于初始分配的元素数量)的唯一方法。例:

m := make(map[T]U, 50)

将创建一个地图,该地图具有足够的空间来容纳50个项目。如果您知道地图会增长,这对于减少将来的分配很有用。



 类似资料:
  • Eclipse允许您构建一个runnable.jar,但不允许您指定一个manifest.mf。 或者,您可以创建一个.jar并指定一个清单,但它将不可运行。

  • 问题内容: 我想做一个需要集成Google MapsAPI的项目。我需要自动完成,本地化并在地图上绘制路线。我该如何用angular做到这一点,您可以为此推荐一个库吗?或者我该如何使用javascript的GoogleMapsAPI做到这一点。该项目是使用yeoman-fullstack生成的。 谢谢。 问题答案: 首先,如果您想让 AngularJS使用* Google Maps API ,则有

  • 问题内容: 是否存在列注释语法,该语法允许我直接在创建表语句(即,内联)中声明列的位置指定列注释?该11克规范没有提到任何东西,在另一页中提到的东西,但我无法得到它的工作。创建表后有一种指定注释的方法,但是我认为将注释与字段定义分开很烦人。我正在寻找这样的东西(不起作用): 问题答案: 恐怕“烦人”的语法是这样做的唯一方法。SQL Server,PostgreSQL和DB2使用相同的语法(尽管据我

  • 我需要帮助一个问题,我遇到了包装我的程序与JPackage。该程序是在Eclipse中创建的非模块化JavaFX应用程序。在Eclipse中,应用程序可以精确地编译和运行。但当我使用命令提示符进行编译和运行时,编译工作了,但应用程序不再运行了。我得到以下错误消息: javac--module-path%path_to_fx%--add-modules javafx.controls,javafx.

  • 我正在尝试将vaadin与spring(没有Spring Boot)和基于java注释的spring部分配置结合起来。 自动连接似乎适用于vaadin ui部分,但不适用于“自定义ui类”(例如,“公共类LoginScreen扩展自定义组件”)。我在SysOut上得到一个NPE或一个空对象。 此外,我注意到“@ComponentScan(base Packages={"net.myapp"})”没

  • 问题内容: 我正在尝试创建一个redux表单(使用redux-form),该表单可以动态创建自己的输入。我在弄清楚如何使redux- form知道已创建的新字段时遇到麻烦。是否可以动态更改redux-form在表单组件本身中传递的字段属性?我在想这个错误吗?这是我正在使用的。 问题答案: 从Redux Form 6. *开始,您可以使用来实现您想做的事情 参见下面的示例(摘自Redux文档,略有简