The Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow. Text content is released under Creative Commons BY-SA. See credits at the end of this book whom contributed to the various chapters. Images may be copyright of their respective owners unless otherwise specified
Book created for educational purposes and is not affiliated with group(s), company(s) nor Stack Overflow. All trademarks belong to their respective company owners
https://goalkicker.com/
章節目錄
1-1Content list
1-2About
1-3Chapter 1: Getting started with Kotlin
1-4Section 1.1: Hello World
1-5Section 1.2: Hello World using a Companion Object
1-6Section 1.3: Hello World using an Object Declaration
1-7Section 1.4: Main methods using varargs
1-8Section 1.5: Compile and Run Kotlin Code in Command Line
1-9Section 1.6: Reading input from Command Line
1-10Chapter 2: Basics of Kotlin
1-11Section 2.1: Basic examples
1-12Chapter 3: Strings
1-13Section 3.1: String Equality
1-14Section 3.2: String Literals
1-15Section 3.3: Elements of String
1-16Section 3.4: String Templates
1-17Chapter 4: Arrays
1-18Section 4.1: Generic Arrays
1-19Section 4.2: Arrays of Primitives
1-20Section 4.3: Create an array
1-21Section 4.4: Create an array using a closure
1-22Section 4.5: Create an uninitialized array
1-23Section 4.6: Extensions
1-24Section 4.7: Iterate Array
1-25Chapter 5: Collections
1-26Section 5.1: Using list
1-27Section 5.2: Using map
1-28Section 5.3: Using set
1-29Chapter 6: Enum
1-30Section 6.1: Initialization
1-31Section 6.2: Functions and Properties in enums
1-32Section 6.3: Simple enum
1-33Section 6.4: Mutability
1-34Chapter 7: Functions
1-35Section 7.1: Function References
1-36Section 7.2: Basic Functions
1-37Section 7.3: Inline Functions
1-38Section 7.4: Lambda Functions
1-39Section 7.5: Operator functions
1-40Section 7.6: Functions Taking Other Functions
1-41Section 7.7: Shorthand Functions
1-42Chapter 8: Vararg Parameters in Functions
1-43Section 8.1: Basics: Using the vararg keyword
1-44Section 8.2: Spread Operator: Passing arrays into vararg functions
1-45Chapter 9: Conditional Statements
1-46Section 9.1: When-statement argument matching
1-47Section 9.2: When-statement as expression
1-48Section 9.3: Standard if-statement
1-49Section 9.4: If-statement as an expression
1-50Section 9.5: When-statement instead of if-else-if chains
1-51Section 9.6: When-statement with enums
1-52Chapter 10: Loops in Kotlin
1-53Section 10.1: Looping over iterables
1-54Section 10.2: Repeat an action x times
1-55Section 10.3: Break and continue
1-56Section 10.4: Iterating over a Map in kotlin
1-57Section 10.5: Recursion
1-58Section 10.6: While Loops
1-59Section 10.7: Functional constructs for iteration
1-60Chapter 11: Ranges
1-61Section 11.1: Integral Type Ranges
1-62Section 11.2: downTo() function
1-63Section 11.3: step() function
1-64Section 11.4: until function
1-65Chapter 12: Regex
1-66Section 12.1: Idioms for Regex Matching in When Expression
1-67Section 12.2: Introduction to regular expressions in Kotlin
1-68Chapter 13: Basic Lambdas
1-69Section 13.1: Lambda as parameter to filter function
1-70Section 13.2: Lambda for benchmarking a function call
1-71Section 13.3: Lambda passed as a variable
1-72Chapter 14: Null Safety
1-73Section 14.1: Smart casts
1-74Section 14.2: Assertion
1-75Section 14.3: Eliminate nulls from an Iterable and array
1-76Section 14.4: Null Coalescing / Elvis Operator
1-77Section 14.5: Nullable and Non-Nullable types
1-78Section 14.6: Elvis Operator (?:)
1-79Section 14.7: Safe call operator
1-80Chapter 15: Class Delegation
1-81Section 15.1: Delegate a method to another class
1-82Chapter 16: Class Inheritance
1-83Section 16.1: Basics: the 'open' keyword
1-84Section 16.2: Inheriting fields from a class
1-85Section 16.3: Inheriting methods from a class
1-86Section 16.4: Overriding properties and methods
1-87Chapter 17: Visibility Modifiers
1-88Section 17.1: Code Sample
1-89Chapter 18: Generics
1-90Section 18.1: Declaration-site variance
1-91Section 18.2: Use-site variance
1-92Chapter 19: Interfaces
1-93Section 19.1: Interface with default implementations
1-94Section 19.2: Properties in Interfaces
1-95Section 19.3: super keyword
1-96Section 19.4: Basic Interface
1-97Section 19.5: Conflicts when Implementing Multiple Interfaces with Default Implementations
1-98Chapter 20: Singleton objects
1-99Section 20.1: Use as replacement of static methods/fields of java
1-100Section 20.2: Use as a singleton
1-101Chapter 21: coroutines
1-102Section 21.1: Simple coroutine which delay's 1 second but not blocks
1-103Chapter 22: Annotations
1-104Section 22.1: Meta-annotations
1-105Section 22.2: Declaring an annotation
1-106Chapter 23: Type aliases
1-107Section 23.1: Function type
1-108Section 23.2: Generic type
1-109Chapter 24: Type-Safe Builders
1-110Section 24.1: Type-safe tree structure builder
1-111Chapter 25: Delegated properties
1-112Section 25.1: Observable properties
1-113Section 25.2: Custom delegation
1-114Section 25.3: Lazy initialization
1-115Section 25.4: Map-backed properties
1-116Section 25.5: Delegate Can be used as a layer to reduce boilerplate
1-117Chapter 26: Reflection
1-118Section 26.1: Referencing a class
1-119Section 26.2: Inter-operating with Java reflection
1-120Section 26.3: Referencing a function
1-121Section 26.4: Getting values of all properties of a class
1-122Section 26.5: Setting values of all properties of a class
1-123Chapter 27: Extension Methods
1-124Section 27.1: Potential Pitfall: Extensions are Resolved Statically