Menu
CoddyTech

多行字符串

本课属于 Coddy Dart 学习旅程的“基础知识”单元。第 39 课,共 94 课。

Dart 中的多行字符串可以跨多行创建字符串,无需使用拼接或转义字符。

使用三引号创建一个多行字符串:

String poem = '''
Roses are red,
Violets are blue,
Dart is awesome,
And so are you!
''';

打印多行字符串:

print(poem);

运行上面的代码后,输出将是:

Roses are red,
Violets are blue,
Dart is awesome,
And so are you!
challenge icon

挑战

简单

创建一个名为 createEventInvitation 的函数,使用 Dart 中的多行字符串生成格式化的活动邀请函。

该函数应接受五个参数:

  1. 一个 String eventName
  2. 一个 String date
  3. 一个 String time
  4. 一个 String location
  5. 一个 String? dresscode(可为空,也可能不提供)

该函数应返回一个格式如下的多行格式化邀请函字符串:

YOU ARE INVITED!
====================
Event: [eventName]
Date: [date]
Time: [time]
Location: [location]
Dress Code: [dresscode or 'Casual attire' if dresscode is null]
====================
We hope to see you there!

使用多行字符串(三引号)进行字符串插值,创建此格式化输出。请确保严格保持上述格式,包括等号行和底部的消息。

亲手试试

import 'dart:io';
import 'dart:convert';

// 用于创建格式化活动邀请函的函数
String createEventInvitation(String eventName, String date, String time, String location, String? dresscode) {
  // 在这里编写代码,创建多行字符串邀请函
  // 记得用三引号(''')创建多行字符串
  // 使用字符串插值($variable)加入参数
  // 如果 dresscode 为 null,就改用 'Casual attire'
}

void main() {
  // 将输入作为 JSON 读取
  String inputJson = stdin.readLineSync()!;
  Map<String, dynamic> eventData = jsonDecode(inputJson);
  
  // 从输入中提取值
  String eventName = eventData['eventName'];
  String date = eventData['date'];
  String time = eventData['time'];
  String location = eventData['location'];
  String? dresscode = eventData['dresscode']; // 这里可能是 null
  
  // 调用函数并打印结果
  String invitation = createEventInvitation(eventName, date, time, location, dresscode);
  print(invitation);
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Dart 在线编译器