Open woshidama323 opened 3 years ago
### 1. 感叹号 比如 println!() 表示这是一个宏 不是一个函数,主要与普通函数做区别
### 2. mod.rs的作用 类似于python中的__init__.py 用于将目录作为一个package的声明 定义等信息
两种方法
code/
`- main.rs
- something/
`- mod.rs ## 要么这样 是something这个module的定义等信息 要么 直接用something.rs来定义
### 3. pub关键词的作用
pub 是rust Visibility机制的一个关键词,类似于 c++中的public
rust中默认情况下 函数或者变量是私有的,
但是通过pub 来修饰 便可以从该module外部访问到
### 4. impl
为了一个结构体 实现几个函数
### 5. for
三个场景下需要用到
Iteration with in, ## for 循环中 for i in 1..5
trait implementation with impl, or ### 跟在impl之后
higher-ranked trait bounds (for<'a>). ###
### 6. Traits: Defining Shared Behavior
比较特殊的类型 trait 类似于golang中的interface
rust trait 与golang interface 比较好的比较说明
//定义函数的时候,一种是明确函数参数类型的,另外一种是不确定函数的参数类型的,对于不确定函数类型参数的,则可以如
//下定义的方法来定义
//定义函数largest的参数为类型T 参数名为list 是一个类型为T的slice 返回值也为T 注意这里返回值不需要用return
fn largest<T>(list: &[T]) -> T {
let mut largest = list[0];
for &item in list {
if item > largest {
largest = item;
}
}
largest
}
fn main() {
let number_list = vec![34, 50, 25, 100, 65];
let result = largest(&number_list);
println!("The largest number is {}", result);
let char_list = vec!['y', 'm', 'a', 'q'];
let result = largest(&char_list);
println!("The largest char is {}", result);
}
在调研phala项目的过程中 笔记
目标: