19 Matching Annotations
  1. Dec 2022
  2. Aug 2022
    1. 改为var后,编译器就会立马报错

      fun main() { // 找到一家肯德基 // ↓ val kfc = Restaurant<KFC>() // 需要普通饭店,传入了肯德基,编译器报错 orderFood(kfc) val success:Result.Success<Cat> = Result.Success<Cat>(Cat()) println(success.data) var s:Result.Success<Animal> = success s.data = Dog() println(success.data as Cat) }

      sealed class Result<out R> { // 协变 ① // ↓ ↓ data class Success<out T:Animal>(var data: @UnsafeVariance T, val message: String = "") : Result<T>()

      data class Error(val exception: Exception) : Result<Nothing>()
      
      data class Loading(val time: Long = System.currentTimeMillis()) : Result<Nothing>()
      

      }

  3. Mar 2022
    1. let msg = res.code != 0 ? res.msg || '操作失败' : res.msg || "操作成功";

      代码优化,可读性的衡量:

      let options = res.code != 0 ? { msg: '操作失败', icon: 2} : {msg: "操作成功", icon: 1};

      msg = res.msg || options.msg;

  4. Oct 2021
    1. 在脚本中,代码编写的思路为:先将包括成本型指标在内的所有指标按照公式(1)进行标准化处理,再针对性地对成本型指标按公式(2)进行标准化。因此,代码按下列方式进行编写。首先新建标准化矩阵,复制原初矩阵所有值。然后以列为计量,循环执行公式(1)的步骤,得到标准化后的矩阵。最后单独将成本型指标按公式(2)执行标准化。
  5. Sep 2021
  6. Dec 2020