您现在的位置: 首页 > 微信营销 > 情感男女 > 螃蟹死了能吃吗, 来一起吃螃蟹之小白基础篇

螃蟹死了能吃吗, 来一起吃螃蟹之小白基础篇

作者:   来源:  热度:13  时间:2021-05-26






最近也是比较闲,在各种社区群里发现老是撞见熟人,这样太卷了吧,太卷了,太卷了,去Go群遇到熟悉的gopher,去Java遇到熟悉的javaer,去熟悉的运维社区又是熟人,去Rust遇到熟悉的r

最近也是比较闲,在各种社区群里发现老是撞见熟人,这样太卷了吧,太卷了,太卷了,去Go群遇到熟悉的gopher,去Java遇到熟悉的javaer,去熟悉的运维社区又是熟人,去Rust遇到熟悉的rustacean.....你们都这么强??,我怎么办呀。。闲着没事做,其他语言写多了,想换一个口味写写所有就有这篇文章了,本文将整理一些Rust基础内容,不要杠我啊,太多熟人了,最近老是看到评论有人杠我????????......我还是一个孩子呀。

基础类型Rust 语言中有四种标量数据类型:

  • 整型
  • 浮点型
  • 布尔类型
  • 字符类型

类型列表??

当前只列出整数类型,其他类型自行查询资料,大家都有经验的开发者了,吃个螃蟹??还不容易吗?

sizesignedunsigned
8biti8u8
16biti16u16
32biti32u32
64biti64u64
128biti128u128
Archisizeusize

arch 是由 CPU 构架决定的大小的整型类型,大小为 arch 的整数在 x86 机器上为 32 位,在 x64 机器上为 64 位。

fn main() {      let name = "Jarvib Ding";      const MY_AGE: u8 = 0x16;      let weight: f32 = 67.8;      let is_man = true;      println!(          "Hi, my name is {},age is {} and weight is {} kg",          name, MY_AGE, weight      );}
  • name字符串字面量模式是静态的这就意味着字符串字面量从创建时开始会一直保存到程序结束,并且它一个不可变变量,如果想二次赋值必须通过mut声明。

  • MY_AGE是常量,常量名的命名规则可变量的命名规则一样,但常量名一般都是大写字母,定义常量时必须指定数据类型,而定义变量时数据类型可以省略。常量一旦定义就永远不可变更和重新赋值。

  • weight是浮点型,区分整型和浮点型的唯一指标就是 有没有小数点且不能互相转换,定义浮点型变量的时候要注意每种浮点型的最大值和最小值,如果超出可能会赋值失败,也有可能结果不是预期的结果。

算数运算符

运算符是用于对数据执行一些操作,被运算符执行的数据称为操作数。

fn main() {    // 加减乘除    let result = 11 + 11;    println!("11 + 11 = {}", result);    println!("11 - 11 = {}"11 - 11);    println!("11 * 11 = {}"11 * 11);    println!("11 / 11 = {}"11 / 11);    println!("11 % 11 = {}"11 % 11);}

关系运算符

关系运算符测试或定义两个实体之间的关系类型,关系运算符用于比较两个或多个值之间的关系,是大于,是等于还是小于,关系运算符的返回结果为 布尔类型

== = != > >=let a = 1;let b = 2;let c = a == b; //falselet d = a != b; //truelet e = a b; //truelet f = a > b; //falselet g = a a; //truelet h = a >= a; //truelet i = true > false//truelet j = 'a' > 'A'//true

更多运算操作可以查看笔者的https://getrust.tech/

条件表达式

在计算机科学中,条件表达式又称条件运算式、条件表示式,是一种编程语言的功能,它可以用来决定当程序指定的布尔运算值为真或假时,程序接下来将会采取的行动。

计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。

条件判断

计算机程序会根据条件不同执行不同的代码。

条件判断

if 语句语法

Rust 语言中使用if语句来模拟现实生活中这种如果...就 的情况.

fn main() {    let age = 22;    if age > 18 {        println!("你已经成年了!")    }}// OUT// 你已经成年了!

if else 语句

  1. if else 语句中,if 语句才是最主要的。如果 条件 为真,就没 else 语句啥事了。

  2. 其实 if 语句后面的 else 语句是可选的。就像我们所说的,如果条件为假就什么都不做,那要 else语句有什么用呢?else 语句的唯一作用,就是 if 语句中的 条件 为假时做些什么,执行些什么。

if else 语句

我们写一段代码,使用 if else 语句来判断一个数是否偶数或奇数,如果是偶数则输出 偶数,如果是奇数则输出 奇数

fn main() {   let num = 12;   if num % 2==0 {      println!("偶数"); //√   } else {      println!("奇数");   }}

if...else if... 语句

if...else if...特点是那个条件先满足就执行那块代码。

我们使用嵌套 if 语句来写一段代码,判断某个值是 大于、小于、等于 0

fn main() {   let num = 2 ;   if num > 0 {      println!("{} is positive",num); // √   } else if num 0 {      println!("{} is negative",num);   } else {      println!("{} is neither positive nor negative",num) ;   }}

match 语句

match 语句用于检查 某个当前的值 是否匹配一组/列值 中的某一个。

如果你会C语言,那么 Rust 中的 match 表达式则类似于 C 语言中的 switch 语句。

// match 语句有返回值,它把 匹配值 后执行的最后一条语句的结果当作返回值。let expressionResult = match variable_expression {   constant_expr1 => {      // 语句;   },   constant_expr2 => {      // 语句;   },   _ => {      // 默认      // 其它语句   }};

首先要说明的是 match 关键字后面的表达式不必括在括号中。也就是 variable_expression 不需要用一对 括号(()) 括起来。

其次,match 语句在执行的时候,会计算 variable_expression表达式的值,然后把计算后的结果和每一个 constant_exprN 匹配,使用的是 全等于 也就是 === 来匹配。如果匹配成功则执行 => {} 里面的语句。

如果 variable_expression 表达式的值没有和任何一个 constant_exprN 匹配,那么它会默认匹配 _

因此,当没有匹配时,默认会执行 _ => {} 中的语句。

match 语句有返回值,它把 匹配值 后执行的最后一条语句的结果当作返回值。

_ => {} 语句是可选的,也就是说 match 语句可以没有它。

    let month = "二月";    let english_month = match month {        "一月" => "January",        "二月" => "February"// ?        "三月" => "March",        "四月" => "April",        _ => "Unknown",    };    println!("{}", english_month)

循环语句

循环语句一般是只在程序重复执行某块代码逻辑的词语,循环其实就是一种重复,在满足指定的条件下,重复的做某些事情。就好比如只要时间没到 18:30,那么我们一直在重复的上班。

循环

Rust循环语句有三种:

  • loop 语句。一种重复执行且永远不会结束的循环。
  • while 语句。一种在某些条件为真的情况下就会永远执行下去的循环。
  • for 语句。一种有确定次数的循环。
  1. 能确定次数的循环,比如 for 循环。
  2. 满足条件就是永动机的循环,比如 while 循环。
  3. 死循环,比如 loop 循环。

for 循环语句

for 语句用于执行代码块指定的次数,可能和其它语言有所不同,Rust 中的 for 循环只有 for..in 这种格式,常用于迭代一组固定的值,例如数组、向量等。

fn main() {    let mut sum: u16 = 0;    for i in 1..100 {        sum += i;    }    println!("sum = {}", sum)}// sum = 4950

while 循环语句

while 循环会在每次重复执行前先判断条件是否满足,满足则执行,不满足则退出。

    sum = 0;    while sum 100 {        sum += 1;    }    println!("sum = {}", sum); //100

loop 循环语句

loop 语句代表着一种死循环。它没有循环条件,也没有循环次数,它就是一个永动机。

loop {    // action 要重复执行的代码}

真正意义上的死循环,这里就不做演示!

break 循环控制语句

break 语句的出现,就是为了在 action 语句块中可以退出循环语句。

    let mut n = 0;    loop {        if n == 100 {            // stop action            break;        }        n += 1;    }    println!("n = {}", n);  // 100

continue 循环控制语句

continue 语句,简单的说,就是停止执行剩下的语句,直接进入下一个循环。

    // 100以内偶数    n = 0;    loop {        n += 1;        if n == 100 {            // stop action            break;        }        if n % 2 == 0 {            // stop action            println!("偶数 {}", n);            continue;        }    }

函数定义

函数是一组可以执行的任务代码块,函数是一段可读的,可维护的和可重用的代码语句块。每个 Rust 程序都至少有一个函数,即主函数 main(),除了使用 Rust 核心和标准库提供的函数外,我们还可以自己定义自己的函数。

函数声明

函数说明就是告诉编译器一个函数的名称变量、和返回值类型。这三个合在一起组成了函数的签名函数签名的作用就是防止出现两个相同的函数。

函数定义

函数可以帮我们把可以复用的代码组装到一个函数块里面,方便在其他地方进行调用。我们可以把代码划分到不同的函数中,这样可以使得代码可读性更强,逻辑更简单。

因此,定义函数时首先想的并不是我要定义一个函数,而是我这个任务要怎么做,要定义哪些函数来完成。

定义函数时必须以 fn 关键字开头,fn 关键字是 function 的缩写,函数内部必须包含函数要执行的具体代码,我们把这些代码称之为 函数体

定义函数的语法如下,定义函数时必须使用 fn关键字开头,后面跟着要定义的函数名

fn funcation_name(parma:data_type){    // 函数代码}

下面的代码,我们定义了一个函数名为 say_hi 的函数,用于输出一些信息

fn say_hi() {    println!("?? Hello!");}// ?? Hello!

为了运行一个函数首先必须调用它。函数不像普通的语句,写完了会自动执行,函数需要调用才会被执行。

??下面,函数 main() 就是 调用者函数,也就是 调用者

fn main() {    //调用函数 out: ?? Hello!    say_hi(); }fn say_hi() {    println!("?? Hello!");}

函数返回值

在我们的函数代码块可能需要处理一些逻辑,然后把处理的结果返回给调用者,我们将这些值称为 函数返回值

Rust 语言的返回值定义语法与其它语言有所不同,它是通过在 ()小括号后面使用 箭头->加上数据类型 来定义的。

return 语句:

fn main() {    assert_eq!(10,sum());}// 有返回值的函数fn sum() -> i8 {    return 5 + 5;}

没有 return 语句则使用最后一条语句的结果作为返回值:

fn main() {    assert_eq!(assert_sum(),sum());}fn sum() -> i8 {    return 5 + 5;}fn assert_sum() -> i8 {    5 + 5 // 最后一条语句返回 并且没有‘;’}

函数参数

函数参数 是一种将外部变量和值带给函数内部代码的一种机制,函数参数是函数签名的一部分,函数签名的最大作用,就是防止定义两个相同的签名的函数。

  • 我们把函数定义时指定的参数名叫做 形参
  • 把调用函数时传递给函数的变量值叫做 实参

函数参数有两种传值方法,一种是把值的值接传递给函数,另一种是把值在内存上的保存位置传递给函数。

传值调用

传值调用 就是简单的把传递的变量的值传递给函数的 形参,从某些方面说了,就是把函数参数也赋值为传递的值。

因为是赋值,所以函数参数和传递的变量其实是各自保存了相同的值,互不影响,因此函数内部修改函数参数的值并不会影响外部变量的值。

fn main() {    let name = "Jarvib";    edit_name(name);    println!("main() Your name is {}",name);    // edit_name() Your name is Jarvib Ding    // main() Your name is Jarvib}fn edit_name(mut name:&'static str){    name = "Jarvib Ding";    println!("edit_name() Your name is {}",name)}

引用传递

值传递只是会重新创建一个变量,但引用传递则不会,引用传递把当前变量的内存位置传递给函数。

下面的代码中,星号(*) 用于访问变量 param_no 指向的内存位置上存储的变量的值,这种操作也称为 解引用

fn main() {    let mut no:i32 = 22;    println!("The value of no is:{}",no);    mutate_no_to_zero(&mut no);    println!("The value of no is:{}",no);    // The value of no is:22    // The value of no is:0}fn mutate_no_to_zero(param_no:&mut i32){   *param_no = 0//解引用操作}

array数组

虽然大部分变量都是基本数据类型,虽然这些基本数据类型可以满足我们一些开发需求,但是他▊们不是万能的。

  • 基本数据类型的变量也有它们的局限性。

  • 基本数据类型的变量本质上是标量,这意味着每个基本数据类型的变量一次只能存储一个值。

  • 如果我们要存储的值非常多,成百上千,这种重复定义变量的方法是行不通的。

数组的特性

数组 是用来存储一系列数据,但它往往被认为是一系列相同类型的变量,也就是说,数组 是可以存储一个固定大小的相同类型元素的顺序集合。

  • 数组的定义其实就是为分配一段连续的相同数据类型的内存块。

  • 数组是静态的,这意味着一旦定义和初始化,则永远不可更改它的长度。

  • 数组的元素有着相同的数据类型,每一个元素都独占者数据类型大小的内存块,也就是说。数组的内存大小等于数组的长度乘以数组的数据类型。

  • 数组中的每一个元素都按照顺序依次存储,这个顺序号既代表着元素的存储位置,也是数组元素的唯一标识。我们把这个标识称之为数组下标

  • 可以更新或修改数组元素的值,但不能删除数组元素。如果要删除功能,你可以将它的值赋值为 0 或其它表示删除的值。

声明和初始化数组

  1. Rust语言为数组的声明和初始化提供了三种语法
let year: [i324] = [1999201920202021];
  1. 省略数组类型的语法
let arr = [10,20,30,40];
  1. 指定默认初始值的语法,这种语法有时候称为 默认值初始化。

如果不想为每一个元素指定初始值,则可以为所有元素指定一个默认的初始值,例如下面的代码为每一个元素指定初始值为 -1了。

let arr:[i32;4] = [-1;4];

综合使用例子:

fn main() {    let year: [i324] = [1999201920202021];    // let arr = [10,20,30,40];    println!("array is {:?}", year);    // len() 数组长度    println!("array size is :{}", year.len());}

output:

array is [1999201920202021]array size is :4

for in 循环遍历数组

在其它语言中,一般使用 for 循环来遍历数组,Rust 语言也可以,只不过时使用 for 语句的变种 for ... in .. 语句。

因为数组的长度在编译时就时已知的,因此我们可以使用 for ... in 语句来遍历数组。

for index in 0..year.len() {        println!("index: {} , value: {}", index, year[index])}

迭代数组iter()

我们可以使用 iter() 函数为数组生成一个迭代器。

for value in year.iter() {        println!("value is: {}", value)}

数组作为函数参数

数组可以作为函数的参数,而传递方式有 传值传递引用传递 两种方式。

  • 传值传递 就是传递数组的一个副本给函数做参数,函数对副本的任何修改都不会影响到原来的数组。

  • 引用传递 就是传递数组在内存上的位置给函数做参数,因此函数对数组的任何修改都会影响到原来的数组。

引用传递例子:

fn main() {    let mut year: [i324] = [1999201920202021];    // let arr = [10,20,30,40];    println!("array is {:?}", year);    // len() 数组长度    println!("array size is :{}", year.len());    for index in 0..year.len() {        println!("index: {} , value: {}", index, year[index]);    }    for value in year.iter() {        println!("value is: {}", value);    }    // updated of [1999, 2019, 2021, 2021]    updated_by_index(22021, &mut year);    println!("updated of {:?}", year)}// 通过下标修改某个元素的值fn updated_by_index(index: usize, value: i32, arr: &mut [i324]) {    arr[index] = value;}

元组Tuple

tuple复合类型可以存储多个不同类型的数据,复合类型就像我们的菜篮子,里面可以放各种类型的菜。

  • tuple长度是固定的,而且一旦定义了,就不能再次更改。
  • tuple是下标从0开始。

tuple元组的定义

在定义的时候可以指定存储的数据类型:

let tuple_name:(data_type1,data_type2,data_type3) = (value1,value2,value3);

Rust 中元组的定义很简单,就是使用一对小括号 () 把所有元素放在一起,元素之间使用逗号 , 分隔,当然也可以忽略类型声明。

let tuple_name = (v1,v2,v3)

tuple元组的使用

  • 下标访问
  • 解构赋值

我们可以使用 元组名.索引数字 来访问元组中相应索引位置的元素。索引从 0 开始。

如果要输出元组中的所有元素,必须使用 {:?} 格式化符:

fn main() {    let tuples: (&'static stri8f64) = ("??"223.1415927);    println!("{:?}", tuples);    // 声明一个可变的tuple    let mut people = ("tom""robin""jarvib");    // 通过下标访问    println!("{},{},{}", people.0, people.1, people.2);    // 修改下标为2的值    people.2 = "Jarvib Ding";    // 通过 解构赋值 (destructing)    let (v1, v2, v3) = people;    println!("{},{},{}", v1, v2, v3);}

output:

("??"223.1415927)tom,robin,jarvibtom,robin,Jarvib Ding

结构体使用

结构体(struct)支持组合不同的数据类型,但不同于元组,结构体需要给每一部分数据命名以标志其含义,因而结构体比元组更加灵活,不依赖顺序来指定或访问实例中的值。

  1. 定义结构体
struct User {    name: String,    age: u8,    is_man: bool,    weight: f32,}
  1. 创建实例
let mut user1 = user {      // 根据指定的字符串字面量来创建字符串对象,使用 String::from() 方法。      name: String::form("Jarvib Ding"),      age: 0x16,      is_man: true,      weight: 67.8,};
  1. 实现方法
struct User {    name: String,    age: u8,    is_man: bool,    weight: f32,}impl User {    // gender 返回性别字符串    fn gender(&self) -> &'static str {        if self.is_man {            return "is it a boy.";        }        "is a girl"    }    // say_hi 打招呼函数    fn say_hi(&self) {        println!(            "Hi, my name is {},age is {} and weight is {} kg,{}",            self.name,            self.age,            self.weight,            self.gender()        );    }}fn main() {    let userinfo = User {        name: String::from("Jarvib Ding"),        age: 0x16,        is_man: true,        weight: 67.8,    };    userinfo.say_hi()}

implimplementation的缩写,后面加结构体名,表示为该结构体实现方法,要实现的方法包在impl块中,依然使用fn关键字。类似Java中的this关键字。

好了,运行这个say_hi函数:

cargo run    Finished dev [unoptimized + debuginfo] target(s) in 0.00s     Running `target/debug/demo`     Hi, my name is Jarvib Ding,age is 22 and weight is 67.8 kg,is it a boy.

小结

本文就写这么多吧,更多详细内容查看https://getrust.tech/!!卷起来!!卷起来!!哈哈哈哈,来吧互相伤害!!欢迎抬杠!!今晚的??螃蟹你吃的香吗?

“有人往我家扔了一堆死螃蟹小龙虾!”

4月18日晚上,萧山新塘派出所接到一男子小张(化名)报警,民警许龙马上带队赶到现场。

小张家住萧山广悦公寓某幢3楼,18号早上他正准备去上班,打开房门一看,发现自家阳台上被扔了很多死螃蟹、小龙虾等垃圾,还都是稀碎的,看起来十分恶心。

小张当场就十分生气,但是早上来不及处理就先去上班了。晚上下班回到家里,小张查看了自家监控,发现这些垃圾是楼上倒下来的,就报了警。

“我们这楼经常有人扔东西下来,要么是烟屁股要么是小杂物,我气不过就装了一个朝上的监控。”小张说。

小张家的监控显示,18日早上5点多,楼上的某房间突然倒下一堆东西。因为3楼有一个小平台,倒下来的垃圾直接留在了平台上,其他楼层阳台没有遭殃。

20楼的两名合租小伙很快就承认了是他▊们扔的,还不觉得是什么大事。民警遂将该二人黄某、曹某传唤至新塘派出所。

审查中,黄某、曹某如实供述了违法事实:因租房内没有垃圾桶,其二人先是将螃蟹和小龙虾剪碎冲入厨房下水道,结果导致下水道堵塞,后用脸盆将十余只螃蟹、小龙虾连水一起从20楼窗户倒出去

“这些螃蟹和龙虾都是前几天我们自己在水沟里抓的,后来网上查了一下不能吃,就想着扔掉,没想到那么多……”派出所里,黄某、曹某十分后悔。

据了解,黄某、曹某的行为已构成扰乱公共场所秩序。黄某因未成年,被处以警告处罚,曹某因扰乱公共场所秩序被罚款200元。

记者了解到,广悦公寓是萧山一高层安置小区。百度查询到广悦公寓的物业为杭州滨安物业管理有限公司。

上午记者拨打了网站上显示的该物业公司联系人电话,无人接听。

近年来,高空抛物坠物事件越来越多,导致多名无辜群众罹祸,被称为“悬在城市上空的痛”。

《民法典》第1254条第1款规定:“禁止从建筑物中抛掷物品。”2021年3月1日,《刑法修正案(十一)》施行,其中正式将高空抛物罪作为独立罪名。

针对“高空抛物”行为,新塘派出所致力于加强源头治理,积极推动预防和惩治高空抛物、坠物行为的协同治理工作,一方面要求社区在高层住宅楼下增加智慧摄像头安装,压实社区、物业的主体管理责任;另一方面通过“鹰眼盯”和“新”无忧平台,及时收集社情民意和线索,采取必要的安全保障措施,排除安全隐患,共同守护公众“头顶上的安全”。


新闻多看点

夫妻吵架

浙江一男子从12楼扔下21斤重行李箱

近日,温州鹿城区检察院以涉嫌高空抛物罪批准逮捕犯罪嫌疑人赵某某。这是“高空抛物”入罪以后,鹿城区检察院批捕的首例高空抛物案。

夫妻吵架

12楼扔下21斤重行李箱

“行李箱蹭着我的右手臂砸了下来,我们一家被吓得不轻!”回忆此前发生的一幕,温州的金先生至今还心有余悸。

4月5日10点12分许,金先生和妻女回家路过鹿城区某小区2幢楼下时,突然听到头顶的树上传来很大响声,他下意识地侧身躲了下,紧接着就是“砰”地一声巨响,一件红色行李箱擦到金先生的右手臂后掉落在地,行李箱里的滑轮被巨大冲击力震地散落一地。

?

4月5日10时30分许,民警在该小区2幢1203室门口将犯罪嫌疑人赵某某抓获,并于当日对其采取刑事拘留措施。

“她跑来跑去收拾了两个行李箱,我当时有点生气,想把她留下来……”面对检察官的讯问,赵某某说道,前一天,因妻子埋怨自己请客花销太大,双方起了争执。第二天早上,妻子赌气收拾行李说要回老家,他一时情急,就把她收拾好的一个行李箱从阳台上扔了下去。经过现场测量,该行李箱长宽36cm、高20cm左右,重10.5公斤。

一时冲动的代价

鹿城区检察院依法批准逮捕

“你知道从12楼扔下行李箱会对过路的行人造成怎么样的危险吗?”

“知道的,我很后悔!”面对检察官的讯问,犯罪嫌疑人赵某某悔不当初。

鹿城区检察院经审查后认为,该案事实清楚、证据确实充分,犯罪嫌疑人赵某某的行为属于“从建筑物抛掷物品,情节严重的”,已触犯了《中华人民共和国刑法》第二百九十一条之二规定,涉嫌构成高空抛物罪,遂依法作出批准逮捕决定。


据有关专家介绍,一块20克的麻将牌,从20层楼高度落下能将人的手指砸骨折;一枚30克左右的鸡蛋,从4层楼的高度落下可将人头顶砸出个肿包,若从25层楼高度落下则可致人死亡;即使只是一块西瓜皮,如果从25层楼的高度落下也可致人死亡。

多走两步路不会累

但是你一旦从楼上抛下

你永远不知道给别人造成多少无法挽回的损失

已所不欲勿施于人

拒绝高空抛物

从我做起

记者 孙毓 郭婧

视频 徐盈盈 陈雪艳

通讯员 萧公宣 鹿轩

这螃蟹虽然美味,并非人人都宜食用。

◆秋季吃螃蟹的3大好处

1抗感染,促进伤口愈合

螃蟹中含有大量的蛋白质并且多半以优质蛋白为主,而这些优质蛋白质中还含有氨基酸,可增加淋巴细胞免疫力,促进伤口愈合、抗感染的功效。手术后或受伤人群可以适量多吃螃蟹。

2解毒功效

精氨酸能参与体内能量代谢和解毒工作,适量吃蟹可促进肌体能量平衡,对体内毒素起到很好的排泄作用。因此便秘患者可以多吃些蟹肉。

吃螃蟹千万不要过量,由于螃蟹属于寒性食物,过量食用会影响肠胃健康,诱发腹泻等症状。

3预防肿瘤

蟹肉中含有大量的营养物质,其中维生素A、维生素E含量最高。这2种维生素可以保护粘膜上皮组织,软化血管和抗衰老。

螃蟹中还含有大量的硒,每100克的螃蟹中硒的含量高达56.7微克。含硒高的食物可以提高人体的免疫力,还能起到预防肿瘤、抗癌的功效。

◆7类人吃蟹需谨慎

1肝炎患者不宜食螃蟹

肝炎病人由于胃黏膜水肿、胆汁分泌失常、消化机能减退,而蟹肉含有丰富的蛋白质,不易消化吸收,往往易造成消化不良和腹胀、呕吐等。

2心血管病人忌吃螃蟹

螃蟹含胆固醇较高每100克蟹肉中含胆固醇235毫克,每100克蟹黄中含胆固醇460毫克,冠心病、动脉硬化症、高血压、高血脂症的患者,食用含胆固醇过高的食物,会引致胆固醇增高,加重心血管病的发展。

3有伤风感冒、发热的人不宜吃蟹

伤风感冒的饮食应以清淡为主,高蛋白的螃蟹不易消化吸收,吃后易使感冒难愈或使病情加重。

4凡脾胃虚寒者应不吃或少吃蟹

螃蟹性寒,吃后容易引起腹痛、腹泻或消化不良等症。慢性胃炎、胃及十二指肠溃疡患者最好也不吃螃蟹,因食后易使旧病复发或病情加重。

5有过敏体质的人应忌吃螃蟹

此类人吃了螃蟹后,特异蟹蛋白通过通透性增高的肠壁进入肌体而发生过敏反应,产生大量组织胺等,引起胃肠等平滑肌痉挛、血管性水肿,而出现恶心、呕吐、腹痛、腹泻;有的还会引起荨麻疹或哮喘。此外,患有皮炎、湿疹、癣症等皮肤疾病的人也要慎食,因为吃蟹可使病情恶化。

6患有胆道疾病的如胆囊炎、胆结石症的人不宜螃蟹

胆囊炎、胆结石的形成与体内胆固醇过多和代谢障碍有一定关系,吃蟹易使病情复发或转重。

7孕妇宜少吃或不吃螃蟹

中医认为,螃蟹性寒凉,有活血祛瘀之功,故对孕妇不利。

◆螃蟹的四个部位不要吃

1蟹腮

即长在蟹腹部如眉毛状的两排软绵绵的东西,俗称蟹眉毛,是蟹的呼吸器官,用来过滤水质的,很脏。腮下的三角形蟹白也不要吃;

2蟹肠

里面有蟹的排泄物,掰开蟹身之后,看到蟹黄、蟹肉处有一根根黑色的东西,要取掉.

3蟹胃

躲在蟹黄里的三角包儿,也有蟹的排泄物。隐藏在蟹盖上的蟹黄堆里,把蟹黄吃掉以后弃之。

4蟹心

也叫蟹六角板。呈六角形,藏在蟹腹中间黄膏最厚的地方,是最寒的,一定不能吃。掀开蟹壳,可以看到一层黑色的膜衣,白色片装的蟹心就在黄膏与黑色膜衣之间。

◆如何挑选大闸蟹

一看蟹壳

凡壳背呈黑绿色,带有亮光,都为肉厚壮实;壳背呈黄色的,大多较瘦弱。

二看肚脐

肚脐凸出来的,一艘都膏肥脂满;凹进去的,大多膘体不足。

三看螯足

凡螯足上绒毛丛生,都螯足老健;而螯足无绒毛,则体软无力。

四看活力

将螃蟹翻转身来,腹部朝天,能迅速用螫足弹转翻回的,活力强,可保存;不能翻回的,活力差,存放的时间不能长。

五看雄雌

农历八、九月里挑雌蟹,九月过后选雄蟹,因为雌雄螃蟹分别在这两个时候性腺成熟,滋味营养最佳。

◆吃螃蟹的3个注意

1吃蟹加些新鲜姜末和食醋

螃蟹味咸、性寒,而生姜性温,具有温中散寒解毒之功效;醋除了调味外,还可以杀菌,破坏蟹中的组胺。而且生姜和食醋是调味品,吃蟹时蘸上姜末醋汁,才能使蟹味更鲜美。

2不吃死蟹

蟹死后,其僵硬期和自溶期大大缩短。蟹体内的细菌会迅速繁殖,并扩散到蟹肉中去。在弱酸条件下,细菌会分解蟹体内的氨基酸,产生大量组氨和类组氨物质。组氨会引起过敏性食物中毒,类组氨会使食者呕吐、腹痛、腹泻。

3吃蟹要适量,搭配有讲究

吃蟹时和吃蟹后1小时内不要喝茶。因为开水会冲淡胃酸,茶会使蟹的某些成分凝固,不利于消化吸收,还可能引起腹痛、腹泻。

同时,螃蟹不要和柿子一起吃,因为柿子中的鞣酸等成分会使蟹肉蛋白凝固,凝固物质长时间留在肠道内会发酵腐败,引起呕吐、腹痛、腹泻等反应,还可能引起结石症等。

【文章源于网络,如有侵权请联系删除】

更多做菜技巧?点击下方微信群二维码

转载请注明出处:螃蟹死了能吃吗, 来一起吃螃蟹之小白基础篇 :http://www.720weixin.com/marketing/425791.html
  • 登录

    使用微信帐号直接登录,无需注册