读书笔记--GO语言精进之路--01熟知GO语言的一切

前言

作者写这本书的目的

回答「Go入门容易,精进难,怎么才能像Go开发团队那样写出符合Go思维和语言惯例的高质量代码?」

作者的解答思路

  • 思维层面:写出高质量Go代码的前提是思维方式的进阶,即用Go语言的思维写Go代码
  • 实践技巧层面:Go标准库和优秀开源库是挖掘符合Go惯用法的高质量Go代码的宝库,对其进行阅读、整理和归纳,可以得到一些能够帮助我们快速进阶的有效实践。

1. Go语言的诞生

Rob Pike、Robert GriesemerKen Thompson三位巨佬在2007.9.20下午的一次大约一小时的C++构建编译等待过程中探讨萌芽的,目的是为了解决C++复杂性高、编译构建速度慢、不便支持并发等。
一天后三位大佬开启了具体设计的回忆,两天后发布邮件,五天后正式命名为Go,2009.10.30日Rob Pike在Google Tech talk上做了关于Go语言的演讲“The Go Programming Language”,Go语言正式公之于众。
想起了念书时历史课中的一个问题:是伟人创造了历史还是人民群众创造了历史?

2. Go语言的设计哲学

2.1 追求简单,少即是多

拒绝走语言特性融合的道路,而选择做减法。把负责留给自己,将简单易用留给gopher。
  • 简介、常规的语法、仅25个关键字
  • 内置垃圾手机,降低开发人员内存管理心智
  • 没有子类型继承
  • 首字母大小决定可见性
  • 方法就是函数
  • 接口只是方法集合
  • 内置字符串、切片、map
  • 内置支持并发

2.2 偏好组合,正交解耦

Go语言本质上不属于经典OO语言范畴,不像C++、Java等主流OO语言通过庞大的自上而下的类型体系、继承、显式接口实现将程序的各个部分耦合起来,Go语言所遵从的设计哲学是组合。
隐式的interface让程序各个部分之间的耦合降到最低,自然地遵从了依赖抽象、里氏替换、接口隔离原则。

  • 无类型体系,类型之间是独立的,没有子类型的概念
  • 每个类型都可以有自己的方法集合,类型定义与方法实现是正交独立的
  • 接口与其实现之间隐式关联
  • 包之间是相对独立的,没有子包的概念

2.3 原生并发,轻量高效

  • Go语言采用轻量级协程并发模型
  • Go语言为开发者提供支持并发的语法元素和机制

2.4 面向工程,自带电池

面向真实世界中Google内部大规模软件开发的存在的各种问题,为这些问题提供答案。

  • 程序构建慢
  • 失控的依赖管理
  • 开发人员使用编程语言的不同子集
  • 代码可理解性差

3. 使用Go语言原生编程思维来写Go代码

萨丕尔-沃夫假说:语言影响或决定人类的思维方式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
R语言实战笔记第九章介绍了方差分析的内容。方差分析是一种用于比较两个或多个组之间差异的统计方法。在R语言中,可以使用lm函数进行方差分析的回归拟合。lm函数的基本用法是: myfit <- lm(I(Y^(a))~x I(x^2) I(log(x)) var ... [-1],data=dataframe 其中,Y代表因变量,x代表自变量,a代表指数,var代表其他可能对模型有影响的变量。lm函数可以拟合回归模型并提供相关分析结果。 在方差分析中,还需要进行数据诊断,以确保模型的可靠性。其中几个重要的诊断包括异常观测值、离群点和高杠杆值点。异常观测值对于回归分析来说非常重要,可以通过Q-Q图和outlierTest函数来检测。离群点在Q-Q图中表示落在置信区间之外的点,需要删除后重新拟合并再次进行显著性检验。高杠杆值点是指在自变量因子空间中的离群点,可以通过帽子统计量来识别。一般来说,帽子统计量高于均值的2到3倍即可标记为高杠杆值点。 此外,方差分析还需要关注正态性。可以使用car包的qqplot函数绘制Q-Q图,并通过线的位置来判断数据是否服从正态分布。落在置信区间内为优,落在置信区间之外为异常点,需要进行处理。还可以通过绘制学生化残差的直方图和密度图来评估正态性。 综上所述,R语言实战第九章介绍了方差分析及其相关的数据诊断方法,包括异常观测值、离群点、高杠杆值点和正态性检验。这些方法可以用于分析数据的可靠性和模型的适应性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [R语言实战笔记--第八章 OLS回归分析](https://blog.csdn.net/gdyflxw/article/details/53870535)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值