YaPiBlog


You look look you one day day de

Vue3属性、样式、事件绑定

计算属性 声明了一个计算属性 reversedMessage,提供的函数将用作属性 vm.reversedMessage 的 getter。 vm.reversedMessage 依赖于 vm.message,在 vm.message 发生改变时,vm.reversedMessage 也会更新 <div id="app"> <p>原始字符串: </p>...

Vue3控制循环及值绑定

分支 条件控制 if/else <div id="app"> <div v-if="type === 'A'"> A </div> <div v-else-if="type === 'B'"> B </div> <div v-else-if="type =...

Vue3起步

起步 Vue3 中的应用是通过使用 createApp 函数来创建的,语法格式如下: <div id="hello-vue" class="demo"> </div> <script> const HelloVueApp = { data() { return { message: 'Hello Vue!!' } ...

Vue3安装

什么是Vue.js? 一款渐进式的javascript框架 优点 体积小,压缩后只有33k 更高的运行效率。基于虚拟dom,一种可以预先通过javaScript进行各种计算,把最终的DOM操作计算出来并优化的技术,由于这个DOM操作属于预处理操作,并没有真实的操作DOM,所以叫做虚拟DOM。 双向数据绑定 生态丰富,学习成本低 安装 下载Vue.js文件,并...

Rust系列(七)实战编译器

BF Brainfuck是一种极小化的计算机语言,它是由Urban Müller在1993年创建的。由于fuck在英语中是脏话,这种语言有时被称为brainf*ck或brainf**k,甚至被简称为BF。 这种语言,是一种按照“Turing complete(图灵完备)”思想设计的语言,它的主要设计思路是:用最小的概念实现一种“简单”的语言,BrainF**k 语言只有八种符号,所有的操作...

Rust系列(六)内置结构

智能指针 Box 类似于C++中的智能指针。Box允许将一个值放在堆上而不是栈上,留在栈上的则是指向 堆数据的指针。当一个Box超出作用域时,它的析构函数被调用,内部对象被销毁,堆上的 内存被释放。 fn main(){ let b = Box::new(5); println!("b = {}",b); } Box没有运行上的性能损失,即便如此也需要在恰当时候使用: ...

Rust系列(五)所有权及生命周期注解

所有权规则 Rust中每个值都绑定有一个变量,称为该值的所有者。 每个值只有一个所有者,而且每个值都有它的作用域。 一旦这个值离开作用域,这个值占用的内存将被回收。 作用域就是一个大括号。 fn main(){ // 创建在堆里的字符串 let s1 = String::from("hello world"); // 所有权进行转移,转移给了s2...

Rust系列(四)泛型

函数中的泛型 // T 后面加冒号加上泛型特征的绑定 fn large<T: std::cmp::PartialOrd>(a:T , b:T)-> T{ if a > b { a }else { b } } fn main(){ println!("{}",large(1,2)); println...

Rust系列(三)模块化编程

模块 Package Package 用于管理一个或多个Crate,创建一个Package的方式是使用cargo new。 当输入命令时,Cargo创建了一个目录以及一个Cargo.toml文件。这就是一个Package。 默认情况下,src/main.rs是与Package同名的二进制Crate的入口文件。如果在创建Package 的时候带上 -- lib参数,那么src/l...

Rust系列(二)分支、函数

流程控制 Rust是一个基于表达式的语言,大多数代码都有一个返回值。除了一些声明语法。 条件与循环也是表达式,所以它们可以有返回值。 let cond = true; let a = if cond { 32 }else { 23 }; if else let n = 5; if n > 0 { println!("{} is positive",...