网站首页 | 范文大全 | 常用申请书 | 党团范文 | 讲话发言 | 作文大全 | 报告叙述 | 合同范文 | 党建教育 | 入党材料 | 心得体会 |
三晋范文网
  • 入党申请书
  • 入党誓词
  • 入党自传
  • 入党转正申请书
  • 入党介绍人意见
  • 入党志愿书
  • 入团申请书
  • 入团志愿书
  • 少先队入队申请书
  • 思想汇报
  • 您的位置:三晋范文网 > 党团范文 > 思想汇报 > 正文 2019-10-17 07:24:23

    少林杀手之血钱观看【Go 语言 Malloc 的惯用语法少林杀手血钱国语】

    摘要:我终于又开始使用 Go 语言编程了。虽然我在前两年多的时间里积极参与这个项目,但从 2012 年起,我就基本没有参加过这个项目。最初,我之所以做出贡献,是因为我是贝尔实验室

    Go 语言 Malloc 的惯用语法少林杀手血钱国语

    我终于又开始使用 Go 语言编程了。虽然我在前两年多的时间里积极参与这个项目,但从 2012 年起,我就基本没有参加过这个项目。最初,我之所以做出贡献,是因为我是贝尔实验室Plan 9(操作系统) 和FreeBSD的粉丝。我喜欢可用的、基于 csp 的语言,但是 Go 最初的版本只能在 linux 和 OS X 上运行。那时候我只有 FreeBSD 系统,因此,我将编译器工具链、运行时和标准库移植到 FreeBSD (有很多调试成果来自Russ Cox)。

    然而,过去我的大部分工作都是在低延迟的系统软件上,它们大部分是用 C 语言编写的,自2007年起,我所有的雇主都不再支持 FreeBSD。因为我并没有真正的机会用 Go 语言去编写新的软件,而且我最终也不再对维护一个操作系统的知识感兴趣,suantv,野蛮恶少的千金女佣,我只是为了好玩,所以我对 Go 语言的使用和贡献都被搁置了。

    现在我在谷歌工作,我终于有机会用 Go 语言写代码了。虽然我仍然喜欢这门语言,但有一些经验报告,例如风格那样的东西结果阻止了我在过去的 5~6 年里使用这门语言,毛坦厂中学生死协议,而我现在觉得有些麻烦。在一些同事的建议下,我想我应该至少记录下其中的一个。

    我想念的一件事情是 C 语言 malloc 那样的习惯用法。在 C 语言中,分配的内存通常是对 mallocs -family 函数的调用,它至少给您足够的内存来完成您想要的功能,或者并不给您分配内存。惯用语法大致是这样的:

    Go 语言 Malloc 的惯用语法

    注意,p (T *) 的类型只出现一次。这一行代码利用了它的操作数时的大小,并且显示了一个指针 这其实是没有发生的事情,因为操作符 sizeof 的结果必须①在编译时是可识别的。这种编程语言而不是语法定义的结果是 sizeof 产生了指向对象的大小;它不会变成运行时的东西。C 语言的好处是,如果我改变用 T 表示的类型,我只改变声明或定义中的类型。在 site(s) 中不需要做任何更改,指针对象被分配给内存分配的结果。上面的示例很简单,让我们考虑一个更复杂的情况,结构成员指向某种类型:

    Go 语言 Malloc 的惯用语法

    如果以后我们想要更改 struct set 来支持除 int 以外的成员,我们可能会将成员更改为一个union,并添加一些 enum 类型来指定一些我们想要添加的字段。我们可以在不改变 set_create 中的任何代码的情况下做到这一点。

    每次我使用 Go 语言创建了一些结构类型,当需要嵌入一些像 slice 和 map 那样需要分配内存的字段的时候都让我很抓狂。在 Go 中,我们被迫重复表达我们想要分配的东西的类型,尽管编译器熟知这种类型而且类型推断是符合语言习惯的(试想一下如这样的表达式 a:= b ),我有时不得不深究一下嵌入字段的类型是什么。让我们来看看在创建一个嵌入了 map 的结构体所涉及的内容:

    Go 语言 Malloc 的惯用语法

    我们还可以在 NewNamedMap 中使用 make ,但是仍然保留了return NamedMap{name: name, m: make(map[string]string)} 再次,重复它的类型。经过深思熟虑的代码,应该只有一个(额外的)地方需要我们指定类型来分配它,但是当类型改变时,这仍然需要多处改动代码。当我在做原型的时候,这就会让我抓狂,而且我还没有充分考虑到我需要保存在 map 中的状态。我发现在很多地方需要自己手动将 map[string]string 更改为 map[string]T,每次我需要更改多行代码时,它都会使我感到困扰。

    有人可能会说,在写代码之前,我应该多考虑一下我需要什么,那样会更好。但我仍然会反驳说,在项目的生命周期中开发额外的状态需求并不少见,乔若菱,比如在上面的例子中。随着时间的推移,系统的约束也可能会发生变化,这样一种最初非常好的类型最终会变得不可用。在 Go 中,set 结构可能是这样的:

    Go 语言 Malloc 的惯用语法

    少林杀手之血钱观看【Go 语言 Malloc 的惯用语法少林杀手血钱国语】》由(三晋范文网)整理提供,版权归原作者、原出处所有。
    Copyright © 2023 三晋范文网 All Rights Reserved. 备案号:京ICP备14001712号-1