为什么我们需要使用指针为Go / C中的变量分配值,而不是C#/ Java

这实际上是一个普遍的问题,但是由于我正在使用Go和C#,所以现在发生了。假设我们要从Go中的用户输入中分配一个变量:

func main() {
    var input float64
    fmt.Scan(&input)
}

很清楚为什么我们需要一个内存位置来放入新值。但是为什么在Java或C#等语言中,我们没有遵循相同的逻辑:

var input = Convert.ToInt32(Console.ReadLine());
// and not &input ...
法比奥·容克伊拉(FábioJunqueira)

Java和C#是高级语言,可以抽象出大多数内存管理以及低级语言(例如C)所需的其他特定内容。

在这种情况下,该Console.ReadLine()函数分配内存以存储控制台输入,并将其复制到input变量。

由于这些语言具有垃圾回收功能,因此分配和取消分配内存是自动完成的,因此该框架不需要您显式传递要写入的内存地址,也不希望使用完后释放内存。

编辑:

请参阅@kostix评论,以获取对该答案的极大改进。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 C 中使用指针时,我们何时以及为什么需要使用 malloc?

来自分类Dev

为什么我们需要Java中的Properties类?

来自分类Dev

为什么我们需要纯<?>在Java中?

来自分类Dev

为什么我们必须在Java脚本(Razor)中对C#代码使用引号

来自分类Dev

为什么我们需要Rx中的CompositeDisposable,以及以前在普通Java中使用过什么?

来自分类Dev

为什么我们在从服务器获取响应时需要使用BufferedReader而不是String

来自分类Dev

为什么我们需要使用 'get_absolute_url()' 而不是自定义定义的类似方法?

来自分类Dev

为什么我们需要使用一个`var`来定义许多变量?

来自分类Dev

为什么我们需要浮点指针或整数指针分别指向浮点变量或整数变量?

来自分类Dev

为什么我们在TypeScript中说装饰器?为什么不注释(如Java)或属性(如C#)?

来自分类Dev

为什么我们在TypeScript中说装饰器?为什么不注释(如Java)或属性(如C#)?

来自分类Dev

在Java中,为什么我们需要在布尔表达式中减去一些数字?

来自分类Dev

JAVA-ThreadPoolExecutor 为什么我们需要在recheck过程中判断execute函数中的worker数量?

来自分类Dev

为什么我们需要一个扫描器对象来在 java 中获取输入

来自分类Dev

为什么我们需要在 AWS S3 Java 客户端中 setReadLimit(int)

来自分类Dev

为什么我们需要声明枚举变量?(C)

来自分类Dev

为什么我们在c中使用函数返回指针以及函数返回指针的应用

来自分类Dev

为什么我们在 C# 中为类属性使用 description 属性

来自分类Dev

C#为变量分配新值

来自分类Dev

在c#中为Session变量的替代方法,我们可以使用类及其对象存储值而不是session变量吗?

来自分类Dev

事务在Hibernate中是可选的。但是为什么我们每次都需要使用它?有没有其他选择?

来自分类Dev

为什么我们在Java中更喜欢基元而不是盒装基元

来自分类Dev

为什么我们说依赖注入是 Java Spring 框架的特性,而不是 Java 语言的特性?

来自分类Dev

Objective-C通过引用传递与通过指针传递。有什么不同?为什么我们根本需要它?

来自分类Dev

C#变量不是我想要的值

来自分类Dev

为什么需要使用“ WINAPI *”作为语法来为DLL中的函数声明函数指针

来自分类Dev

为什么我们不能在 C 编程语言中使用 a 而不是 &a 来存储变量 a 的值?

来自分类Dev

为什么我们需要在C ++头文件中使用“ #if defined Identifier”?

来自分类Dev

在 C 中,如果将双指针分配给值,为什么指针变量为 0?

Related 相关文章

  1. 1

    在 C 中使用指针时,我们何时以及为什么需要使用 malloc?

  2. 2

    为什么我们需要Java中的Properties类?

  3. 3

    为什么我们需要纯<?>在Java中?

  4. 4

    为什么我们必须在Java脚本(Razor)中对C#代码使用引号

  5. 5

    为什么我们需要Rx中的CompositeDisposable,以及以前在普通Java中使用过什么?

  6. 6

    为什么我们在从服务器获取响应时需要使用BufferedReader而不是String

  7. 7

    为什么我们需要使用 'get_absolute_url()' 而不是自定义定义的类似方法?

  8. 8

    为什么我们需要使用一个`var`来定义许多变量?

  9. 9

    为什么我们需要浮点指针或整数指针分别指向浮点变量或整数变量?

  10. 10

    为什么我们在TypeScript中说装饰器?为什么不注释(如Java)或属性(如C#)?

  11. 11

    为什么我们在TypeScript中说装饰器?为什么不注释(如Java)或属性(如C#)?

  12. 12

    在Java中,为什么我们需要在布尔表达式中减去一些数字?

  13. 13

    JAVA-ThreadPoolExecutor 为什么我们需要在recheck过程中判断execute函数中的worker数量?

  14. 14

    为什么我们需要一个扫描器对象来在 java 中获取输入

  15. 15

    为什么我们需要在 AWS S3 Java 客户端中 setReadLimit(int)

  16. 16

    为什么我们需要声明枚举变量?(C)

  17. 17

    为什么我们在c中使用函数返回指针以及函数返回指针的应用

  18. 18

    为什么我们在 C# 中为类属性使用 description 属性

  19. 19

    C#为变量分配新值

  20. 20

    在c#中为Session变量的替代方法,我们可以使用类及其对象存储值而不是session变量吗?

  21. 21

    事务在Hibernate中是可选的。但是为什么我们每次都需要使用它?有没有其他选择?

  22. 22

    为什么我们在Java中更喜欢基元而不是盒装基元

  23. 23

    为什么我们说依赖注入是 Java Spring 框架的特性,而不是 Java 语言的特性?

  24. 24

    Objective-C通过引用传递与通过指针传递。有什么不同?为什么我们根本需要它?

  25. 25

    C#变量不是我想要的值

  26. 26

    为什么需要使用“ WINAPI *”作为语法来为DLL中的函数声明函数指针

  27. 27

    为什么我们不能在 C 编程语言中使用 a 而不是 &a 来存储变量 a 的值?

  28. 28

    为什么我们需要在C ++头文件中使用“ #if defined Identifier”?

  29. 29

    在 C 中,如果将双指针分配给值,为什么指针变量为 0?

热门标签

归档