flutter中dart语言之‘$‘的使用

这篇博客介绍了Dart语言中的字符串插值语法,强调了在表达式为标识符时使用${expression}

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

字符串可以通过 ${expression} 的方式内嵌表达式。 如果表达式是一个标识符,则 {} 可以省略。
在 Dart 中通过调用就对象的 toString() 方法来得到对象相应的字符串。

var s = 'string interpolation';

assert('Dart has $s, which is very handy.' ==
    'Dart has string interpolation, ' +
        'which is very handy.');
assert('That deserves all caps. ' +
        '${s.toUpperCase()} is very handy!' ==
    'That deserves all caps. ' +
        'STRING INTERPOLATION is very handy!');

但是如果s是一个类的实例成员变量,则不能省略{},否则在$引用该变量时会出现问题,如:

var user = User(); //这里实例化一个类

Widget _UserInfotmation(){
    return Container(
      child: Row(
        children: [
          Column(
            children: [
              FlatButton(
                  onPressed: (){
                    print(user.id); //点击输入000001,正确,user.id是一个类成员
                    print(user.name);
                  },
                  child: Image(
                    image: AssetImage(user.headImage),
                    width: 150.0,
                    height: 150.0,
                  )
              )
            ],
          ),
          Column(
            children: [
              Text(
                'Name:  $user.name' //此处不加花括号,则会显示Instance of User.name,正确的显示应该是000001
              ),
              Text(
                'ID:  $user.id'
              ),
            ],
          )
        ],
      ),
    );
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值