寻找最聪明、最高效、可读性最强的方法来完成以下任务:
int one = 1, two = 2;
int larger = one < two?two:one;
我更喜欢(或以下内容的不同版本):
int largest(one,two){return one<two?two:one;}
int larger = largest(one,two);
但DART没有内联或宏.
带有列表:
var nums = [51,4,6,8];
nums.sort();
in largest = nums.last
或者(谢谢你,君特·泽赫鲍尔):
print([1,2,8,6].reduce(max));
使用数学库:
import 'dart:math';
int largest = max(21,56);
也许是最好的,但是与第一种方法相比,max的效率如何呢?
为什么要问这个问题?
对于第一种方法,我必须判断是否对每一个都进行了正确的比较;有时会有数百个.对于第二个,只有一个函数需要验证,但是有数百个函数调用.