变量声明风格

从 C 开始,使用的是强类型风格,声明变量时,使用类型修饰符。对于不同的数据类型,需要使用不同的修饰符。

以 Java 为例

char c = 'c';
int num = 10;
boolean ok = true;

而然,也存在另一种风格,那就是不管变量是什么类型,统一使用一个关键字进行声明,比如 var1(variable 缩写):

// 要是不做说明,或许还以为这是 JS 呢,实则为 Java
var s = "str";
var num = 10;
var ok = false;

这样的好处就在于,变量的类型由编译器自己推断,多数情况下,这比开发者自己显示标注的还要更精准。

C 并不提供此类玩法;在 C++ 中则存在类似的 auto2

在长期发展当中,一些强类型语言也支持了这种方式,但使用并不多,因为存在一个问题:语言编程风格。特别是那种存在类型声明方式的语言,就容易混着写,让自己的代码风格比较混乱。

多数情况下,只有那种复杂且长的类型声明,开发者才会默认选择使用 var 来简化声明。

其次是说,一种习惯吧,显式类型声明的变量,能够让人更加有安全感些,并且看到变量声明的区域,便知道该变量是什么类型。

并且,从学习语言开始,都会使用强类型声明方式(我不太相信哪个 Java 教程会让人从一开始,就使用 var 声明变量),从而习惯了这种传统方式。

当然,可以说的是,后一种统一风格写法是多数开发者都愿意接受的写法(最起码我是如此),毕竟记住一个声明关键字,比记住一堆类型关键字要简单。

于是出现了一种方案:共存

声明变量使用一种关键字,而同时,提供类型注解的方式,选择性书写变量类型,也可以让编辑器执行自动推断。当前已知这种风格的语言有:TypeScript、Rust,Python

Python 在此处只演示类型注解

const str = "str";
const num: number = 10;
let str = "str";
let num: i32 = 10;
s: str = "abc"  
num: int = 10  
ok: bool = False

类型注解也表明了,强类型是一种很香的特性,这点从 TypeScript 上也能得到该结论,以至于出现了新提案,要在 JavaScript 当中添加类型注解功能。

-END-


  1. 已知可用的语言有:JS、Java、C#。 ↩︎

  2. 其适用范围要比 var 更为广泛。 ↩︎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值