当前位置: 首页 > wzjs >正文

个人域名 做公司网站灰色词快速排名方法

个人域名 做公司网站,灰色词快速排名方法,网站建设知名企业,那里做网站比较好一、源码 这段代码定义了一系列基础物理量纲的类型别名,并使用标记 trait Canonical 来表示它们是国际单位制(SI)中的基本单位。 use crate::Dimension; use typenum::{P1, Z0};/// 标记特质,表示基础量纲单位 pub trait Canoni…

一、源码

这段代码定义了一系列基础物理量纲的类型别名,并使用标记 trait Canonical 来表示它们是国际单位制(SI)中的基本单位。

use crate::Dimension;
use typenum::{P1, Z0};/// 标记特质,表示基础量纲单位
pub trait Canonical {}/// Length (meter) / 长度 (米)
/// Length - meter (m) [L] = m¹
/// 长度 - 米 (m) [L] = m¹
pub type Meter = Dimension<P1, Z0, Z0, Z0, Z0, Z0, Z0>;
impl Canonical for Meter {}/// Mass (kilogram) / 质量 (千克)
/// Mass - kilogram (kg) [M] = kg¹
/// 质量 - 千克 (kg) [M] = kg¹
pub type Kilogram = Dimension<Z0, P1, Z0, Z0, Z0, Z0, Z0>;
impl Canonical for Kilogram {}/// Time (second) / 时间 (秒)
/// Time - second (s) [T] = s¹
/// 时间 - 秒 (s) [T] = s¹
pub type Second = Dimension<Z0, Z0, P1, Z0, Z0, Z0, Z0>;
impl Canonical for Second {}/// Electric current (ampere) / 电流 (安培)
/// Current - ampere (A) [I] = A¹
/// 电流 - 安培 (A) [I] = A¹
pub type Ampere = Dimension<Z0, Z0, Z0, P1, Z0, Z0, Z0>;
impl Canonical for Ampere {}/// Thermodynamic temperature (kelvin) / 热力学温度 (开尔文)
/// Temperature - kelvin (K) [Θ] = K¹
/// 温度 - 开尔文 (K) [Θ] = K¹
pub type Kelvin = Dimension<Z0, Z0, Z0, Z0, P1, Z0, Z0>;
impl Canonical for Kelvin {}/// Amount of substance (mole) / 物质的量 (摩尔)
/// Substance - mole (mol) [N] = mol¹
/// 物质的量 - 摩尔 (mol) [N] = mol¹
pub type Mole = Dimension<Z0, Z0, Z0, Z0, Z0, P1, Z0>;
impl Canonical for Mole {}/// Luminous intensity (candela) / 发光强度 (坎德拉)
/// Intensity - candela (cd) [J] = cd¹
/// 发光强度 - 坎德拉 (cd) [J] = cd¹
pub type Candela = Dimension<Z0, Z0, Z0, Z0, Z0, Z0, P1>;
impl Canonical for Candela {}
  1. 导入依赖
use crate::Dimension;
use typenum::{P1, Z0};
  • Dimension: 自定义的结构体,用于表示物理量纲(如长度、质量、时间等),有7个泛型参数,分别对应7个基本单位。

  • typenum: 一个Rust库,用于在类型级别表示数字和算术运算。

    • P1 表示正1(+1),Z0 表示零(0)。
  1. 标记 trait Canonical
pub trait Canonical {}
  • 这是一个空的 标记 trait,用于表示某个类型是 标准基础量纲单位(如 Meter、Kilogram 等)。

  • 它没有任何方法,仅用于编译时类型标记。

  1. 定义基础量纲类型
    代码定义了7种 国际单位制(SI)的基本单位,每个单位都是一个 Dimension 类型,并实现了 Canonical trait。

(1) 长度(米 / Meter)

pub type Meter = Dimension<P1, Z0, Z0, Z0, Z0, Z0, Z0>;
impl Canonical for Meter {}
  • 表示 长度(单位:米 m),其量纲为 [L] = m¹。

  • Dimension<P1, Z0, Z0, Z0, Z0, Z0, Z0> 表示:

    • 长度(M)的幂次 = P1(+1)

    • 其他量纲(质量、时间等)的幂次 = Z0(0)

(2) 质量(千克 / Kilogram)

pub type Kilogram = Dimension<Z0, P1, Z0, Z0, Z0, Z0, Z0>;
impl Canonical for Kilogram {}
  • 表示 质量(单位:千克 kg),量纲 [M] = kg¹。

  • Dimension<Z0, P1, Z0, Z0, Z0, Z0, Z0>:

    • 质量(KG)的幂次 = P1(+1)

    • 其他量纲的幂次 = Z0(0)

(3) 时间(秒 / Second)

pub type Second = Dimension<Z0, Z0, P1, Z0, Z0, Z0, Z0>;
impl Canonical for Second {}
  • 表示 时间(单位:秒 s),量纲 [T] = s¹。

  • Dimension<Z0, Z0, P1, Z0, Z0, Z0, Z0>:

    • 时间(S)的幂次 = P1(+1)

    • 其他量纲的幂次 = Z0(0)

(4) 电流(安培 / Ampere)

pub type Ampere = Dimension<Z0, Z0, Z0, P1, Z0, Z0, Z0>;
impl Canonical for Ampere {}
  • 表示 电流(单位:安培 A),量纲 [I] = A¹。

  • Dimension<Z0, Z0, Z0, P1, Z0, Z0, Z0>:

    • 电流(A)的幂次 = P1(+1)

    • 其他量纲的幂次 = Z0(0)

(5) 温度(开尔文 / Kelvin)

pub type Kelvin = Dimension<Z0, Z0, Z0, Z0, P1, Z0, Z0>;
impl Canonical for Kelvin {}
  • 表示 温度(单位:开尔文 K),量纲 [Θ] = K¹。

  • Dimension<Z0, Z0, Z0, Z0, P1, Z0, Z0>:

    • 温度(K)的幂次 = P1(+1)

    • 其他量纲的幂次 = Z0(0)

(6) 物质的量(摩尔 / Mole)

pub type Mole = Dimension<Z0, Z0, Z0, Z0, Z0, P1, Z0>;
impl Canonical for Mole {}
  • 表示 物质的量(单位:摩尔 mol),量纲 [N] = mol¹。

  • Dimension<Z0, Z0, Z0, Z0, Z0, P1, Z0>:

    • 物质的量(MOL)的幂次 = P1(+1)

    • 其他量纲的幂次 = Z0(0)

(7) 发光强度(坎德拉 / Candela)

pub type Candela = Dimension<Z0, Z0, Z0, Z0, Z0, Z0, P1>;
impl Canonical for Candela {}
  • 表示 发光强度(单位:坎德拉 cd),量纲 [J] = cd¹。

  • Dimension<Z0, Z0, Z0, Z0, Z0, Z0, P1>:

    • 发光强度(CD)的幂次 = P1(+1)

    • 其他量纲的幂次 = Z0(0)

二、总结

这段代码的核心思想是:

  1. 使用 Dimension 泛型结构体 表示物理量纲,7个泛型参数分别对应7个基本单位。

  2. 使用 typenum 在类型级别表示幂次:

  • P1 表示 +1(单位的基本幂次)。

  • Z0 表示 0(该单位不出现)。

  1. 用 Canonical trait 标记基础单位,便于类型系统识别。

三、示例

  • Meter 表示 m¹(长度单位,幂次 +1)。

  • Kilogram 表示 kg¹(质量单位,幂次 +1)。

  • 其他单位类似。

四、用途

这种设计常用于 类型安全的物理计算库(如 uom 或 dimensioned),可以在编译时检查单位是否正确,避免运行时错误。例如:

let length: Meter = 5.0; // 5 米
let mass: Kilogram = 10.0; // 10 千克
let speed = length / mass; // 编译错误!因为 `m / kg` 不是标准速度单位(应该是 `m / s`)

这样,编译器可以防止单位不匹配的错误,提高代码的可靠性。

http://www.dtcms.com/wzjs/506552.html

相关文章:

  • 网站 app微信三合一沈阳专业seo关键词优化
  • 网站开发技术汇总哪里有网站推广优化
  • 做网站页面需要的资料关于普通话的手抄报
  • 吉林市 网站建设长沙全网推广
  • 企业网站管理朋友圈广告
  • 如何对网站做引擎优化网络推广渠道有哪些
  • 做网站贵seo是什么服务
  • 郴州网站设计公司360搜索引擎入口
  • 广告设计入门到精通济南seo整站优化厂家
  • 网站开发 需要用到什么软件百度搜索排名服务
  • ubuntu wordpress nginx福州排名seo公司
  • 美国做ppt的网站semester怎么读
  • 房产中介如何找客源南宁百度推广排名优化
  • 做网站要提供什么百度人工客服电话多少
  • asp加dw做网站我赢网提供的高水平网页设计师
  • 亚马逊品牌备案网站怎么做什么是全网营销推广
  • 龙岗网络科技有限公司seo如何优化
  • 专业做运动服装的网站神马seo服务
  • 美丽乡村建设网站免费推广引流app
  • 网站建设视频教程想做电商怎么入手
  • wordpress welcomeseo外链专员
  • 网站建设网站制作需要多少钱2020最近的新闻大事10条
  • 广州网站建设定制seo项目优化案例分析文档
  • 诗人做的网站网店推广策划书
  • 海外网购app搜索引擎优化简称
  • 山东省高中生发展报告在哪个网站做市场推广方案怎么写
  • 做旅游网站的毕业论文软文推广案例500字
  • 做动态网站需要多少钱做百度网站一年多少钱
  • 肇庆网站建设咨询搜索引擎优化教程
  • 昆山做轮胎网站营销推广计划