サンプルで以下のソースコードを記載します。
@override
Widget build(BuildContext context) {
String mayMargin = '15';
double myMarginAsDouble;
try {
myMarginAsDouble = double.parse(mayMargin);
} catch (e) {
print(e);
myMarginAsDouble = 30.0;
}
return Scaffold(
body: Container(
// myMarginAsDoubleじゃなければ、デフォルトで30.0
margin: EdgeInsets.all(myMarginAsDouble ?? 30.0),
color: Colors.red,
),
);
}
ここで、見ていただきたいのは以下のコードです。
margin: EdgeInsets.all(myMarginAsDouble ?? 30.0),
ここでは、"myMarginAsDouble ?? 30.0" の意味は、
myMarginAsDouble が false であれば、デフォルトの値である30.0が値として入ります。