rust学习-基本语法

好久没写博客了,越来越懒。碰到问题,文档上有的,或者可以搜索到的就懒得总结了,也经常要找多次。准备经常更新。 rust很早之前看过,那时候感觉标准库太少了,特别网络相关的根本找不到。0.9的时候我看好像有了,现在0.1了网络相关的已经有了,准备学习一下rust语言。 hello.rs  
fn main() {
    println!("hello?你好");
}
custc hello.rs ./hello rust所有的声明必须在函数里边,rust可以编译成库文件被别的程序包含,甚至是非rust程序。 println!这种标示符后面跟一个叹号的是宏调用。宏调用感觉好强大,还没仔细看。先记几个连接 http://static.rust-lang.org/doc/0.10/guide-macros.html http://static.rust-lang.org/doc/master/std/fmt/index.html#%3Ccode%3Eformat_args!%3C/code%3E http://static.rust-lang.org/doc/master/std/macros/macro.println.html http://static.rust-lang.org/doc/master/std/macros/builtin/macro.format_args.html rust类c语言,使用大括号界定代码块,包括选择/循环结构。函数调用myfunc(arg1,arg2).运算符和c的一样,优先级也基本相同。注视也一样,模块名通过两个冒号分离,像c++. if和while的括号不是必须的,他们的结构体必须在大括号里边,单条语句也不行。。 let关键字定义一个局部变量,变量默认是不可变的。需要改变的变量用let mut定义。 rust可以推断局部变量的类型,你可以在let后面加一个冒号,并指定变量的类型。常量的声明必须跟有变量类型。 static MONSTER_FACTOR: f64 = 57.8; let monster_size = MONSTER_FACTOR * 10.0; let monster_size: int = 50; 上边代码回产生一个变量未使用的警告,可以在变量名前加下划线屏蔽警告。 static声明Static items(constant value),可以被全局使用。rust的标示符以字母或者下划线开头,后面跟字母数字下划线。函数,变量,模块名用小写字母,使用下划线分割。定义的类型名用驼峰命名方式,rust原始类型名是小写。
let my_variable = 100;
type MyType = int;
let price;
if item == "salad" {
    price = 3.50;
} else if item == "muffin" {
    price = 2.25;
} else {
    price = 2.00;
}
let price =
    if item == "salad" {
        3.50
    } else if item == "muffin" {
        2.25
    } else {
        2.00
    };
上面两种写法相同,第二种最后有一个分号。大括号里的最后一行代码没有分号的话,他的值将作为整个表达式的值。 所以上面第二种写法,分支里边的数值不能加分号,加上的话回返回()或者空。 rust中除声明(变量,函数,traits, enum types),都是表达式。
fn is_four(x: int) -> bool {
   x == 4
}
不需要写return,表达式的结果将作为结果返回。 整型:int uint,分为8位,16位,32位,64位。数后面跟的字符代表类型i for int, u for uint, i8 for the i8,如果不跟,默认当做int类型 浮点: f32,f64。浮点数可以写成:0.0, 1e6, or 2.1e-4。 bool:true,false char: 单引号,类c 原始字符串,不包含转义:r"" 操作符类c,as操作符将左边的数值转换成右边的类型。as只能用于基本的数字类型和指针,不支持重载。transmute  

上一篇:
下一篇:

相关文章:

Categories: 博客记录

0 Responses so far.

Leave a Reply