Rust 04

/// https://kaisery.github.io/trpl-zh-cn/ch03-05-control-flow.html
/// 控制流
fn main() {
   println!("Hello, world!");

   let number = 3;
   println!("First number is {number}");
   let number = 7;
   if number < 5 {
       println!("condition was true, number less than five.");
   }else{
       println!("condition was false, number greater or equals to five.");
   }

   let number = 6;
   if number % 4 == 0 {
       println!("number is divisible by 4");
   }else if number % 3 == 0 {
       println!("number is divisible by 3");
   }else if number %2 == 0 {
       println!("number is divisible by 2");
   }else{
       println!("number is not divisible by 4 , 3 or 2");
   }

   let condition = true;
   let number = if condition {5} else {6};

   println!("The value of number is: {number}");

   let mut counter = 0;
   let result = loop {
       counter += 1;
       if counter == 10 {
           break counter * 2;
       }
   };

}

这里记录的是Rust的控制流,也就是判定,类似Python的语法,在if后面是不需要加括号的.

///
/// https://kaisery.github.io/trpl-zh-cn/ch03-05-control-flow.html
/// 控制流
///
fn main() {
    println!("Hello, world!");
    let mut number = 3;
    while number != 0 {
        println!("{number}!");
        number -= 1;
    }

    println!("LIFTOFF!!!")
}
///
/// https://kaisery.github.io/trpl-zh-cn/ch03-05-control-flow.html
fn main() {
    for number in (1..4).rev() {
        println!("{number}!");
    }
    println!("LIFTOFF!!!");
}
///
/// https://kaisery.github.io/trpl-zh-cn/ch03-05-control-flow.html
fn main() {
  let mut count = 0;
   //outer loop with label
   'counting_up: loop {
       println!("count = {count}");
       let mut remaining = 10;
       //inner loop with break
       loop {
           println!("remaining = {remaining}");
           if remaining == 9 {
               break;
           }
           if count == 2 {
               break 'counting_up;
           }
           remaining -= 1; // can not use remaining --(error)
       }
       count += 1;
   }
   println!("End count = {count}")
}

2024-04-24 下午 , 今下午感受到如果要睡觉就应该让音响在自己耳边程序轰炸.

翻看gitee,又再次看到这个loop示例,这几天忙于工作,除了偶尔刷下rust视频,rust的电子书,其他的都看得比较少,主要还是感觉工作疲倦之余已经没有精力来继续回顾和延伸.
其实后来感觉不是的,就像那会儿接触除了自己熟悉的编程语言之外的编程语言时感觉的那样(比如Ruby on rails(笔记)、Kotlin(笔记)、Solidity(笔记)、Python(笔记)),等等,当然学过这些,也做过初步的使用,但是并没有深入,为什么呢?

  1. 语言方向与个人发展不同
    比如现阶段我是要做后端,而后端可能不会使用Ruby,而当时接触Ruby也只是好奇当时有家公司用这门语言,而Kotlin虽然能写安卓,但是当时还没使用到微服务,就感觉使用到微服务后才去接触app端的才好,直到后来确实也接触使用微服务以及处理高并发,微服务分布式事务等等后,才感觉自己后端做得有点价值了,之后也接触了Java开发等安卓系统,但是Kotlin之后看了一看,也只是用其的一个框架去做多平台开发(PC、IOS、安卓),Solidity更别说了.而Python,当时觉得是很简练的,但是对于开发团队来讲,是没有办法推荐的,因为大部分程序员还是主Java的(web开发).而且要扬长避短,精深自己的专业技能(或者说是简历上的主要技能)是很有必要的.
  2. 语言大多雷同
    虽然参与过Kotlin写过的项目(Kotlin占比70%),但其实感觉除了某些语法、语法糖稍微优于Java,其他的都没区别,甚至可以通过IDE(idea)转换Java类到Kotlin类,所以似乎感觉没有多大意思,后来接触过别人开发的安卓app代码,做了app的请求加密处理等,才发现其实安卓的开发基于Java也只不过是使用了不同的框架和不同的模式,理解了那套模式就掌握了安卓开发,而Kotlin写安卓,也有一些Kotlin自己的特性在里面,比如Kotlin写页面,不像使用Java用Android Studio可以进行xml的界面可视化布局,Kotlin使用其中缀表达式和其他特性可以用硬编码和注解的方式进行页面的布局开发,不过,就像当时说的,当时参与的是Kotlin开发的后台服务,而感觉还比较雷同,就没有太过深入,其他的编程语言更不必说,Python当时去学也是因为当时2019年那会儿Python铺天盖地的教程,而且看到很多大牛也有过Python的推荐,就看了一下,实际上当时还不会用Python做web开发,现在已经能用Python和Django框架配合着不懂问题时通过baidu或者google、stackoverflow、gpt等,能写完整点的web项目了,但Python去写web项目,相比起Java来说,并没有任何优势.
  3. web编程产生出的对编程的无力感
    因为当时做web编程,在一些边边角角问题中探索,debug、找解答,从0搭建项目到开发完毕的项目也有过,但不多,但当时觉得web编程中涉及到的大部分问题和业务都已经接触地比较多,甚至有种厌恶感,而之后怎么去解决的这种厌恶感觉呢,就是通过深入其他方面,比如SQL,当时特别喜欢解决复杂的SQL查询,比如进销存的期初库存查询,或是一些根据不同条件进行多种返回格式的查询,我都倾向于不是分mapper、dao去查,而是定义多种参数,一个sql中通过mybatis的标签语法去解决.但即使这样,web编程给我带来的疲乏感与日俱增.(这也是为什么我会上传一些Rust的学习记录的原因)
posted @ 2024-04-15 10:27  ukyo--BlackJesus  阅读(1)  评论(0编辑  收藏  举报