簡體   English   中英

null 支票無法退出

[英]null check cant get out of this

伙計們我無法擺脫這個。你能檢查一下並告訴我我應該放 null 檢查的地方嗎? 這是為了正式分享帖子。我不想確定下面的名字年齡和薪水。

class _Employee {
  String? empName;
  int? empAge;
  int? empSalary;

  String get employeeName {
    return empName!;
  }

  void set employeeName(String name) {
    this.empName = name;
  }

  void set employeeAge(int age) {
    if (age == null) {
      print("please give a number");
    } else if (age <= 18) {
      print("please give a value number");

      this.empAge = age;
    }
  }

  int get employeeAge {
    return empAge!;
  }

  void set employeeSalary(int salary) {
    salary <= 0
        ? print("Salary cannot be less than 0")
        : this.empSalary = salary;
  }

  int get employeeSalary {
    return empSalary!;
  }
}

void main() {
  _Employee emp = _Employee();
  emp.employeeName;
  emp.employeeAge;
  emp.employeeSalary;
  print("Employee's Name is : ${emp.employeeName}");
  print("Employee's Age is : ${emp.employeeAge}");
  print("Employee's Salary is : ${emp.employeeSalary}");
}

您可以將返回數據類型更改為可為空,而不是使用 null-assert ! .

 String? get employeeName {
    return empName;
  }

或者您可以在 null 案例中返回默認值。

 String get employeeName {
    return empName ?? "Got null on empName";
  }

你需要像這樣設置值

emp.employeeName = "Test";

完整的片段可以是


class _Employee {
  String? empName;
  int? empAge;
  int? empSalary;

  String get employeeName {
    return empName ?? "Got null on empName";
  }

  set employeeName(String name) {
    empName = name;
  }

  set employeeAge(int? age) {
    if (age == null) {
      print("please give a number");
    } else if (age <= 18) {
      print("please give a value number");

      empAge = age;
    }
  }

  int get employeeAge {
    return empAge ?? 0;
  }

  set employeeSalary(int salary) {
    salary <= 0 ? print("Salary cannot be less than 0") : empSalary = salary;
  }

  int get employeeSalary {
    return empSalary ?? 0;
  }
}

void main() {
  _Employee emp = _Employee();
  emp.employeeName = "Test";
  emp.employeeAge = 12;
  emp.employeeSalary;
  print("Employee's Name is : ${emp.employeeName}");
  print("Employee's Age is : ${emp.employeeAge}");
  print("Employee's Salary is : ${emp.employeeSalary}");
}

dart.dev/guides/language/language-tour上找到更多信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM