null检查不能摆脱这个



伙计们,我不能摆脱这个。你能帮我检查一下,告诉我应该把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}");
}

您可以将返回数据类型更改为nullable,而不是使用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

最新更新