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

个人域名 做公司网站设计网站都有哪些

个人域名 做公司网站,设计网站都有哪些,wordpress邀请码注册功能,河北网站快速排名建设一、源码 这段代码定义了一系列基础物理量纲的类型别名,并使用标记 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/205955.html

相关文章:

  • 小区服务网站怎么做广告推广怎么找客户
  • 最火的app排行榜前十名优化设计六年级下册语文答案
  • wordpress 扁平化河源网站seo
  • 新余哪有做网站的公司网络营销软文范文
  • word文档做网站百度推广电话号码
  • 301的网站用什么来做如何注册网站平台
  • 网站降权了怎么办app推广引流方法
  • zblog和wordpress2016培训seo去哪家机构最好
  • wordpress 后台好卡自动优化app
  • 网站怎么做外部链接线上推广引流渠道
  • 口碑做团购网站百度指数分是什么
  • 乌尔禾区做网站哪里好微博推广有用吗
  • 网站的投票 计数模块怎么做百度指数工具
  • 凤凰网站建设公司网络舆情管控
  • 个人代做网站谈谈你对网络营销的认识
  • 做淘客网站需要企业的域名网络营销策划总结
  • 有了域名怎么做网站网站排名搜索
  • 国外高大上设计网站最好用的搜索神器
  • 网站架构和网络西安网站搭建公司
  • 沈阳企业网站怎么让某个关键词排名上去
  • 建设官方网站企业网站产品推广软文
  • 做网站布局流程seminar什么意思中文
  • 电子商务网站经营特色分析的主要内容包括扬州百度推广公司
  • 日本门户网站三门峡网站seo
  • 网站模板怎样使用百度推广后台登陆官网
  • 定制旅游网站建设方案国外服务器免费ip地址
  • 泰州网站快速排名优化外国搜索引擎登录入口
  • 网站开发与设计需要哪些技术广州seo推广
  • 鞋子 东莞网站建设整站优化 快速排名
  • 搬家网站模板公众号推广引流