Rust 中用于编译的注释 Attribute

使用Java的人都知道,Java有个 annotation 注释。
Rust 也有注释,名称和C#的注释一样,叫做 attribute。

Rust 的attribute 与 Java annotation以及 C# 的attribute注释一样,是在编译阶段用于为编译提供更多描述信息,以便在编译的时候可以根据这些描述做出一些动态的选择和设置。

一、Rust 的 attribute 种类

Rust 包括两种 attribute :

第一种是:
#![attribute属性描述]

这种#后面有一个!的形式,表示这个属性值应用在当前的对象。通常,这样的attribute是针对当前文件设置的。当前文件可能包括两种对象,一个是crate,另一个可能是module。需要根据文件的上下文来判断。

判断的依据是,如果是src/mod.rs 或者 src/lib.rs 那么这个设置就是针对 crate 的,因为这两个文件是crate的root module。

例如:

#![crate_type = "lib"]
第二种是:
#[attribute属性描述]    

这种前面只有#号的属性,表示属性的设置应用到属性下面的功能函数上的(当然,除了功能函数,还有其他类型的对象)。

// TODO  介绍crate 下面包含的其他子对象

例如:

#[test]

二、Rust 的 attribute 书写形式

attribute 属性描述包括三种形式:
1、用简单的attribute属性名,这些属性名是由Rust定义的,例如:

#[test]

2、用key=value的形式,key是是Rust定义的属性名,例如:

#![crate_type = "lib"]

3、用属性名(subAttribute1,subAttribute2,key=value),例如:

#[allow(non_camel_case_types, unused)]
#[cfg(target_os="linux")]
//TODO 介绍Rust中现存的可以使用的 attribute
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值