Kotlin Notes for Professionals book

    Amazing collection of free programming books

    收集中
    免費
    Amazing collection of free programming books

    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
    1-125Section 27.2: Top-Level Extensions
    1-126Section 27.3: Lazy extension property workaround
    1-127Section 27.4: Sample extending Java 7+ Path class
    1-128Section 27.5: Sample extending long to render a human readable string
    1-129Section 27.6: Sample extending Java 8 Temporal classes to render an ISO formatted string
    1-130Section 27.7: Using extension functions to improve readability
    1-131Section 27.8: Extension functions to Companion Objects (appearance of Static functions)
    1-132Section 27.9: Extensions for easier reference View from code
    1-133Chapter 28: DSL Building
    1-134Section 28.1: Infix approach to build DSL
    1-135Section 28.2: Using operators with lambdas
    1-136Section 28.3: Overriding invoke method to build DSL
    1-137Section 28.4: Using extensions with lambdas
    1-138Chapter 29: Idioms
    1-139Section 29.1: Serializable and serialVersionUid in Kotlin
    1-140Section 29.2: Delegate to a class without providing it in the public constructor
    1-141Section 29.3: Use let or also to simplify working with nullable objects
    1-142Section 29.4: Use apply to initialize objects or to achieve method chaining
    1-143Section 29.5: Fluent methods in Kotlin
    1-144Section 29.6: Filtering a list
    1-145Section 29.7: Creating DTOs (POJOs/POCOs)
    1-146Chapter 30: RecyclerView in Kotlin
    1-147Section 30.1: Main class and Adapter
    1-148Chapter 31: logging in kotlin
    1-149Section 31.1: kotlin.logging
    1-150Chapter 32: Exceptions
    1-151Section 32.1: Catching exception with try-catch-finally
    1-152Chapter 33: JUnit
    1-153Section 33.1: Rules
    1-154Chapter 34: Kotlin Android Extensions
    1-155Section 34.1: Using Views
    1-156Section 34.2: Configuration
    1-157Section 34.3: Painful listener for getting notice, when the view is completely drawn now is so simple and awesome with Kotlin's extension
    1-158Section 34.4: Product flavors
    1-159Chapter 35: Kotlin for Java Developers
    1-160Section 35.1: Declaring Variables
    1-161Section 35.2: Quick Facts
    1-162Section 35.3: Equality & Identity
    1-163Section 35.4: IF, TRY and others are expressions, not statements
    1-164Chapter 36: Java 8 Stream Equivalents
    1-165Section 36.1: Accumulate names in a List
    1-166Section 36.2: Collect example #5 - find people of legal age, output formatted string
    1-167Section 36.3: Collect example #6 - group people by age, print age and names together
    1-168Section 36.4: Dierent Kinds of Streams #7 - lazily iterate Doubles, map to Int, map to String, print each
    1-169Section 36.5: Counting items in a list after filter is applied
    1-170Section 36.6: Convert elements to strings and concatenate them, separated by commas
    1-171Section 36.7: Compute sum of salaries of employee
    1-172Section 36.8: Group employees by department
    1-173Section 36.9: Compute sum of salaries by department
    1-174Section 36.10: Partition students into passing and failing
    1-175Section 36.11: Names of male members
    1-176Section 36.12: Group names of members in roster by gender
    1-177Section 36.13: Filter a list to another list
    1-178Section 36.14: Finding shortest string a list
    1-179Section 36.15: Dierent Kinds of Streams #2 - lazily using first item if exists
    1-180Section 36.16: Dierent Kinds of Streams #3 - iterate a range of Integers
    1-181Section 36.17: Dierent Kinds of Streams #4 - iterate an array, map the values, calculate the average
    1-182Section 36.18: Dierent Kinds of Streams #5 - lazily iterate a list of strings, map the values, convert to Int, find max
    1-183Section 36.19: Dierent Kinds of Streams #6 - lazily iterate a stream of Ints, map the values, print results
    1-184Section 36.20: How streams work - filter, upper case, then sort a list
    1-185Section 36.21: Dierent Kinds of Streams #1 - eager using first item if it exists
    1-186Section 36.22: Collect example #7a - Map names, join together with delimiter
    1-187Section 36.23: Collect example #7b - Collect with SummarizingInt
    1-188Chapter 37: Kotlin Caveats
    1-189Section 37.1: Calling a toString() on a nullable type
    1-190Appendix A: Configuring Kotlin build
    1-191Section A.1: Gradle configuration
    1-192Section A.2: Using Android Studio
    1-193Section A.3: Migrating from Gradle using Groovy script to Kotlin script
    1-194Credits
    1-195You may also like

    常見問答

    您可以透過手機、平板或是電腦登入 HiSKIO 平台,在【我的學習】>【我的書籍】頁面,選擇想看的電子書。

    猜你喜歡

    用戶評價

    | 收集中

    銷售方案