Zum Hauptinhalt springen
Nicht aus der Schweiz? Besuchen Sie lehmanns.de
Dart Language Reference Guide -  Richard Johnson

Dart Language Reference Guide (eBook)

Definitive Reference for Developers and Engineers
eBook Download: EPUB
2025 | 1. Auflage
250 Seiten
HiTeX Press (Verlag)
978-0-00-106440-9 (ISBN)
Systemvoraussetzungen
8,45 inkl. MwSt
(CHF 8,25)
Der eBook-Verkauf erfolgt durch die Lehmanns Media GmbH (Berlin) zum Preis in Euro inkl. MwSt.
  • Download sofort lieferbar
  • Zahlungsarten anzeigen

'Dart Language Reference Guide'
The 'Dart Language Reference Guide' is a comprehensive and meticulously organized resource designed to cater to both budding developers and seasoned professionals seeking mastery over the Dart programming language. Starting from core language foundations-including lexical structure, data types, operators, and null safety-it provides a systematic exploration of Dart's syntax and semantics, laying a solid groundwork for effective and robust code development. Readers will gain deep insights into comments and documentation standards, variable scope, and the advanced rules that govern how Dart code is written, parsed, and maintained.
Building on these essentials, the guide delves into Dart's object-oriented paradigm, advanced type system, and powerful generics, elucidating complex concepts such as class hierarchies, mixins, metadata, and extension methods. Practical sections on error handling, asynchronous programming, and defensive approaches ensure readers can confidently navigate challenges faced in high-performance and concurrent applications. In-depth coverage of collections, utilities, and debugging techniques further empower developers to write safe, efficient, and maintainable code, while robust patterns for resource management and diagnostics promote production-ready application design.
Recognizing Dart's pivotal role across modern development environments, the book addresses interoperability with native platforms, JavaScript, and diverse runtime targets, providing actionable strategies for integration and code sharing. It concludes with critical guidance on tools, packages, automated testing, build systems, and formal language specification, fostering a holistic understanding of both the Dart ecosystem and its evolving future. The 'Dart Language Reference Guide' stands as an authoritative companion, equipping developers to excel in both everyday programming tasks and advanced architectural endeavors.

Chapter 1
Language Foundations


Dart’s expressive power is rooted in its thoughtfully designed foundations. This chapter unveils the building blocks of Dart—helping you unlock the nuances of its syntax, the flexibility of its type system, and the practical conventions that shape robust, modern code. Whether you’re decoding Dart’s grammar or mastering its approach to null safety, you’ll find the insights needed to write clear, correct, and future-proof applications.

1.1 Lexical Structure and Syntax


Dart’s lexical structure and syntax establish the foundational rules that govern the formulation and interpretation of source code. Mastery of these rules is critical for precise code composition, effective parsing, and syntactical correctness. The design of Dart’s lexical grammar ensures both expressive power and syntactic clarity, facilitating readability and minimizing ambiguities during compilation or interpretation.

Dart source code conforms to the Unicode character set, supporting a comprehensive range of characters beyond the ASCII subset. This universality allows Dart to accommodate identifiers and literals containing international characters. The source files are expected to be UTF-8 encoded, which is compatible with Unicode and widely adopted.

The core character subsets used in Dart lexical elements include:

  • Letters: Characters from a to z, A to Z, which are foundational for identifiers and keywords.
  • Digits: Characters 0 to 9, utilized in numeric literals and identifiers when not at the start.
  • Special characters: Including symbols such as underscores (_), dollar signs ($), and punctuation marks that delimit expressions.
  • Whitespace: White space characters (spaces, tabs, line terminators) which separate meaningful tokens.

Dart source code consists of a sequence of tokens, which are the smallest elements meaningful to the compiler. The major classes of tokens are:

  • Keywords: Reserved words with fixed syntactic significance.
  • Identifiers: Names chosen by programmers for variables, functions, classes, etc.
  • Literals: Fixed values such as numbers, strings, booleans, and null.
  • Operators and Punctuation: Symbols denoting operations, delimiters, and separators.

As detailed below, understanding how these tokens are constructed and recognized is vital for reading and generating correct Dart code.

Dart defines a set of reserved keywords that possess specific meanings and cannot be repurposed as identifiers. These keywords frame the syntactic structure by indicating data types, control flow constructs, modifiers, and other language features. The complete set includes:


abstract, as, assert, async, await, break, case, catch, class, const, continu
e,
covariant, default, deferred, do, dynamic, else, enum, export, extends, exten
sion,
external, factory, false, final, finally, for, function, get, hide, if, imple
ments,
import, in, inferface, is, late, library, mixin, new, null, on, operator, par
t,
patch, required, rethrow, return, set, show, static, super, switch, sync, thi
s,
throw, true, try, typedef, var, void, while, with, yield, and others introduc
ed
in later Dart versions.
 

 

These keywords anchor the grammar and are distinct from identifiers by lexical analysis. Any attempt to use a reserved keyword as an identifier results in a syntax error.

Identifiers in Dart represent names given to variables, functions, classes, parameters, and other user-defined entities. They must adhere to strict lexical rules:

  • The first character must be a letter (Unicode letter) or an underscore (_).
  • Subsequent characters may be letters, digits, or underscores.
  • Identifiers are case-sensitive; for example, Data and data are different.
  • Identifiers may not be a reserved keyword.
  • Dart supports Unicode in identifiers, enabling usage of non-ASCII characters so long as they conform to Unicode letter classes.

Examples of valid identifiers:

name
_totalCount
variable1
Value

Invalid identifiers include those starting with digits, containing spaces or hyphens, or coinciding with reserved keywords.

Whitespace characters separate tokens without producing semantic effects but play a vital role in enhancing readability and separating lexical units. Dart treats the following as whitespace:

  • Space (U+0020), horizontal tab (U+0009).
  • Newline characters: line feed (U+000A), carriage return (U+000D), form feed (U+000C), line separator (U+2028), paragraph separator (U+2029).

Multiple whitespace characters are treated equivalently to a single separator in token parsing. Crucially, whitespace cannot appear within tokens such as identifiers or keywords.

Comments provide annotation and are ignored by the compiler:

  • Single-line comments start with // and extend to the end of the line.
  • Multi-line comments are enclosed between /* and */, supporting nested occurrences.
  • Documentation comments utilize /// for single-line or /** ... */ for multi-line, which tools may parse for API generation.

Punctuation characters break code into logical segments and influence parsing. These include:

  • ; (semicolon): Terminates statements.
  • , (comma): Separates items in lists, function parameters, expressions.
  • . (period): Member access and decimal point in numeric literals.
  • () (parentheses): Grouping expressions, calling functions.
  • {} (braces): Encapsulate blocks of code or map literals.
  • [] (brackets): Array (List) indexing, type arguments.
  • => (fat arrow): Shorthand for single-expression functions.

Accurate use of punctuation is critical for unambiguous code structure, distinguishing syntactic constructs such as statement boundaries, argument lists, and block scopes.

Consider defining a simple function:

int sum(int a, int b) {
return a + b;
}

Lexically, this breaks down as:

  • int: keyword token indicating return type.
  • sum: identifier naming the function.
  • (: punctuation starting a parameter list.
  • int: keyword indicating parameter type.
  • a: identifier parameter name.
  • ,: separator between parameters.
  • int: keyword for second parameter type.
  • b: identifier.
  • ): end of parameter list.
  • {: start of function body (block).
  • return: keyword.
  • a: identifier.
  • +: operator symbol.
  • b: identifier.
  • ;: statement terminator.
  • }: end of block.

Whitespace separates identifiers and keywords but is otherwise insignificant between tokens.

The combination of Unicode support, stringent token definitions, and the reserved keyword list allows Dart source code to be both flexible and precisely definable. The lexer’s role is pivotal, converting raw characters into tokens based on the defined character sets and delimiter rules. Syntax analysis then assembles these tokens into valid parse trees.

The careful delineation of whitespace and punctuation aids clear token boundaries. Identifiers’ lexical constraints guarantee well-formed...

Erscheint lt. Verlag 30.5.2025
Sprache englisch
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
ISBN-10 0-00-106440-1 / 0001064401
ISBN-13 978-0-00-106440-9 / 9780001064409
Informationen gemäß Produktsicherheitsverordnung (GPSR)
Haben Sie eine Frage zum Produkt?
EPUBEPUB (Adobe DRM)
Größe: 670 KB

Kopierschutz: Adobe-DRM
Adobe-DRM ist ein Kopierschutz, der das eBook vor Mißbrauch schützen soll. Dabei wird das eBook bereits beim Download auf Ihre persönliche Adobe-ID autorisiert. Lesen können Sie das eBook dann nur auf den Geräten, welche ebenfalls auf Ihre Adobe-ID registriert sind.
Details zum Adobe-DRM

Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belle­tristik und Sach­büchern. Der Fließ­text wird dynamisch an die Display- und Schrift­größe ange­passt. Auch für mobile Lese­geräte ist EPUB daher gut geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen eine Adobe-ID und die Software Adobe Digital Editions (kostenlos). Von der Benutzung der OverDrive Media Console raten wir Ihnen ab. Erfahrungsgemäß treten hier gehäuft Probleme mit dem Adobe DRM auf.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen eine Adobe-ID sowie eine kostenlose App.
Geräteliste und zusätzliche Hinweise

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Apps programmieren für macOS, iOS, watchOS und tvOS

von Thomas Sillmann

eBook Download (2025)
Carl Hanser Verlag GmbH & Co. KG
CHF 40,95
Apps programmieren für macOS, iOS, watchOS und tvOS

von Thomas Sillmann

eBook Download (2025)
Carl Hanser Verlag GmbH & Co. KG
CHF 40,95