<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cyclelucky的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/cyclelucky</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cyclelucky]]></copyright><item><title><![CDATA[GIT高级用法]]></title><link>https://blog.youkuaiyun.com/cyclelucky/article/details/145200523</link><guid>https://blog.youkuaiyun.com/cyclelucky/article/details/145200523</guid><author>cyclelucky</author><pubDate>Fri, 17 Jan 2025 10:22:31 +0800</pubDate><description><![CDATA[本文主要分享了5个在开发中实用的 Git 命令和设置短命令的方式]]></description><category></category></item><item><title><![CDATA[Kotlin 内联]]></title><link>https://blog.youkuaiyun.com/cyclelucky/article/details/135170239</link><guid>https://blog.youkuaiyun.com/cyclelucky/article/details/135170239</guid><author>cyclelucky</author><pubDate>Tue, 16 Jul 2024 21:04:32 +0800</pubDate><description><![CDATA[这带来了一些由模块做这样变更时导致的二进制兼容的风险—— 声明一个内联函数但调用它的模块在它修改后并没有重新编译。：位于 lambda 表达式中，但退出包含它的函数的返回；公有 API 变更引入的不兼容的风险，公有 API 内联函数体内不允许使用非公有声明，即，不允许使用。若不希望内联所有传给内联函数的 lambda 表达式参数都内联，那么可以用 noinline。可以内联的 lambda 表达式只能在内联函数内部调用或者作为可内联的参数传递。可以在其他模块中调用它，并且也可以在调用处内联这样的调用。]]></description><category></category></item><item><title><![CDATA[Kotlin 枚举类]]></title><link>https://blog.youkuaiyun.com/cyclelucky/article/details/135242220</link><guid>https://blog.youkuaiyun.com/cyclelucky/article/details/135242220</guid><author>cyclelucky</author><pubDate>Wed, 27 Dec 2023 12:12:23 +0800</pubDate><description><![CDATA[枚举常量可以声明其带有相应方法以及覆盖了基类方法的自身匿名类。， 用于在枚举类声明中获取其名称与（自 0 起的）位置。每个枚举常量都是一个对象，枚举常量以逗号分隔。一个枚举类可以实现接口（但不能从类继承）函数以泛型的方式访问枚举类中的常量。枚举常量的列举或获取。]]></description><category></category></item><item><title><![CDATA[Kotlin 嵌套类与内部类]]></title><link>https://blog.youkuaiyun.com/cyclelucky/article/details/135242010</link><guid>https://blog.youkuaiyun.com/cyclelucky/article/details/135242010</guid><author>cyclelucky</author><pubDate>Wed, 27 Dec 2023 12:01:00 +0800</pubDate><description><![CDATA[嵌套在其他类(接口)中的类；有类与接口的组合都是可能的：可以将接口嵌套在类中、将类嵌套在接口中、将接口嵌套在接口中。的嵌套类，会带有一个对外部类的对象的引用，能够访问其外部类的成员。]]></description><category></category></item><item><title><![CDATA[Kotlin 密封类与接口]]></title><link>https://blog.youkuaiyun.com/cyclelucky/article/details/135240625</link><guid>https://blog.youkuaiyun.com/cyclelucky/article/details/135240625</guid><author>cyclelucky</author><pubDate>Wed, 27 Dec 2023 11:31:23 +0800</pubDate><description><![CDATA[密封类类似于枚举类：枚举类型的值集也受到限制，但每个枚举常量仅作为一个实例存在，而密封类的子类可以有多个实例，每个实例都有自己的状态。的类型，该类型在编译此类时是已知的；一旦编译了具有密封接口的模块，就不会出现新的实现。如果能够验证语句覆盖了所有情况，就不需要为该语句再添加一个。在定义密封类的模块和包之外，不能出现其他子类；的类和接口表示受限制的类层次结构，这些层次结构提供了。使用密封类的关键好处在于使用。]]></description><category></category></item><item><title><![CDATA[Kotlin 数据类]]></title><link>https://blog.youkuaiyun.com/cyclelucky/article/details/135220585</link><guid>https://blog.youkuaiyun.com/cyclelucky/article/details/135220585</guid><author>cyclelucky</author><pubDate>Tue, 26 Dec 2023 14:24:42 +0800</pubDate><description><![CDATA[声明在类体中的属性，将在生成的实现中被排除。允许保持某些属性不变的同时修改一些属性。component 函数。]]></description><category></category></item><item><title><![CDATA[Kotlin 接口]]></title><link>https://blog.youkuaiyun.com/cyclelucky/article/details/135218573</link><guid>https://blog.youkuaiyun.com/cyclelucky/article/details/135218573</guid><author>cyclelucky</author><pubDate>Tue, 26 Dec 2023 13:58:47 +0800</pubDate><description><![CDATA[使用关键字 interface来定义接口fun bar()// 可选的方法体。]]></description><category></category></item><item><title><![CDATA[Kotlin 派生类]]></title><link>https://blog.youkuaiyun.com/cyclelucky/article/details/135214074</link><guid>https://blog.youkuaiyun.com/cyclelucky/article/details/135214074</guid><author>cyclelucky</author><pubDate>Tue, 26 Dec 2023 10:40:32 +0800</pubDate><description><![CDATA[成员的实现间接）使用任何一个这种属性，都可能导致不正确的行为或运行时故障；因此设计一个基类时，应该避免在构造函数、属性初始化器或者。基类构造函数执行时，派生类中声明或覆盖的属性都还没有初始化；在基类初始化逻辑中（直接或者通过另一个覆盖的。（也许用继承来的其中之一）；如需表示采用从哪个超类型继承的实现，请使用由。每个声明的属性可以由具有初始化器的属性或者具有。中访问外部类的超类，可用由外部类名限定的。，有三个方法：equals()与 toString()Kotlin 中所有类的。类继承的语法：派生类。]]></description><category></category></item><item><title><![CDATA[Kotlin 属性]]></title><link>https://blog.youkuaiyun.com/cyclelucky/article/details/135204867</link><guid>https://blog.youkuaiyun.com/cyclelucky/article/details/135204867</guid><author>cyclelucky</author><pubDate>Tue, 26 Dec 2023 09:36:25 +0800</pubDate><description><![CDATA[可以为属性定义自定义的访问器如果定义了一个自定义的 getter会覆盖默认的getter，每次访问该属性时都会调用它get() = this.width * this.height // 自定义getter// 属性类型是可选的，因为它可以从getter的返回类型中推断出来如果定义了一个自定义的 setter会覆盖默认的setter，每次给属性赋值时都会调用它setDataFromString(value) // 解析字符串并赋值给其他属性可以定义访问器而不定义其。]]></description><category></category></item><item><title><![CDATA[Kotlin 类]]></title><link>https://blog.youkuaiyun.com/cyclelucky/article/details/135193546</link><guid>https://blog.youkuaiyun.com/cyclelucky/article/details/135193546</guid><author>cyclelucky</author><pubDate>Mon, 25 Dec 2023 12:01:48 +0800</pubDate><description><![CDATA[（指定其类型参数、主构造函数等）以及由。为变量赋值 , 执行一些检查相关的代码。没有任何注解或者可见性修饰符，可以。，这个 constructor。constructor 前缀。这个 constructor。的，并且这些修饰符在它前面。到同一个类的另一个构造函数。或者通过别的次构造函数。类名与可选的类型参数。有注解或可见性修饰符。一个主构造函数，每个。]]></description><category></category></item><item><title><![CDATA[Kotlin 导包规则]]></title><link>https://blog.youkuaiyun.com/cyclelucky/article/details/135193169</link><guid>https://blog.youkuaiyun.com/cyclelucky/article/details/135193169</guid><author>cyclelucky</author><pubDate>Mon, 25 Dec 2023 10:27:08 +0800</pubDate><description><![CDATA[所有内容（无论是类还是函数）都包含在该包内；导入一个作用域下的所有内容：包、类、对象等。在本地重命名冲突项来。]]></description><category></category></item><item><title><![CDATA[Kotlin 相等性]]></title><link>https://blog.youkuaiyun.com/cyclelucky/article/details/135192386</link><guid>https://blog.youkuaiyun.com/cyclelucky/article/details/135192386</guid><author>cyclelucky</author><pubDate>Mon, 25 Dec 2023 10:08:12 +0800</pubDate><description><![CDATA[时, a == null 会被自动转换为 a === null。时求值为 true；对于运行时以原生类型表示的值 （例如。不相等      （]]></description><category></category></item><item><title><![CDATA[Kotlin 空安全]]></title><link>https://blog.youkuaiyun.com/cyclelucky/article/details/135191146</link><guid>https://blog.youkuaiyun.com/cyclelucky/article/details/135191146</guid><author>cyclelucky</author><pubDate>Mon, 25 Dec 2023 09:53:10 +0800</pubDate><description><![CDATA[许多编程语言（包括 Java）中最常见的陷阱之一，就是访问空引用的成员会导致空引用异常。在 Java 中，这等同于 NullPointerException或简称NPE。]]></description><category></category></item><item><title><![CDATA[Kotlin 高阶函数与 lambda 表达式]]></title><link>https://blog.youkuaiyun.com/cyclelucky/article/details/135129828</link><guid>https://blog.youkuaiyun.com/cyclelucky/article/details/135129828</guid><author>cyclelucky</author><pubDate>Fri, 22 Dec 2023 17:23:24 +0800</pubDate><description><![CDATA[Kotlin使用lambda表达式促成可以在变量与数据结构中存储函数可以作为参数传递给其他高阶函数可以从其他高阶函数返回可以像操作任何其他非函数值一样对函数进行操作。]]></description><category></category></item><item><title><![CDATA[Kotlin 变量与函数]]></title><link>https://blog.youkuaiyun.com/cyclelucky/article/details/135126331</link><guid>https://blog.youkuaiyun.com/cyclelucky/article/details/135126331</guid><author>cyclelucky</author><pubDate>Thu, 21 Dec 2023 14:14:58 +0800</pubDate><description><![CDATA[（编译器会优化该递归， 留下一个快速而高效的基于循环的版本）当使用中缀表示法在当前接收者上调用方法时，需要显式使用。函数的参数（通常是最后一个）可以用 vararg。的函数（中缀函数），可以使用中缀表示法调用。参数是 lambda 表达式时。，即一个函数在另一个函数内部。在函数名前使用尖括号指定。算术操作符、类型转换以及。在默认参数之后的最后一个。检测以及其他一些操作符。并不返回有用的值，其。的，上面的代码等同于。]]></description><category></category></item><item><title><![CDATA[Kotlin 控制流程-异常]]></title><link>https://blog.youkuaiyun.com/cyclelucky/article/details/135124977</link><guid>https://blog.youkuaiyun.com/cyclelucky/article/details/135124977</guid><author>cyclelucky</author><pubDate>Thu, 21 Dec 2023 10:51:01 +0800</pubDate><description><![CDATA[Kotlin 中所有异常类继承自 Throwable。，只用于标记永远不能达到的代码位置 (块中的内容不会影响表达式的结果。来标记一个永远不会返回的函数。或者是（所有）catch。块中的最后一个表达式。]]></description><category></category></item><item><title><![CDATA[Kotlin 控制流程]]></title><link>https://blog.youkuaiyun.com/cyclelucky/article/details/135123047</link><guid>https://blog.youkuaiyun.com/cyclelucky/article/details/135123047</guid><author>cyclelucky</author><pubDate>Thu, 21 Dec 2023 10:32:05 +0800</pubDate><description><![CDATA[每一个分支可以是一个代码块，它的值是块中最后的表达式的值。分支，除非编译器能够检测出所有的可能情况都已经覆盖了。所有这些表达式都可以用作更大表达式的一部分，类型是。， 第一个符合条件的分支的值就是整个表达式的值；可以循环遍历任何提供了迭代器的对象。， 则忽略个别分支的值；是一个表达式，它会返回一个值；表达式 表达式 表达式，]]></description><category></category></item><item><title><![CDATA[Kotlin 类型检测与类型转换]]></title><link>https://blog.youkuaiyun.com/cyclelucky/article/details/135122346</link><guid>https://blog.youkuaiyun.com/cyclelucky/article/details/135122346</guid><author>cyclelucky</author><pubDate>Thu, 21 Dec 2023 09:20:00 +0800</pubDate><description><![CDATA[当编译器能保证变量在检测及其使用之间不可改变时，智能转换才有效。的右侧，而相应的（正常或否定）检测在左侧。在运行时检测对象是否符合给定类型。自动插入（安全的）转换。when或者while。]]></description><category></category></item><item><title><![CDATA[Kotlin 基本数据类型-无符号整型]]></title><link>https://blog.youkuaiyun.com/cyclelucky/article/details/135121888</link><guid>https://blog.youkuaiyun.com/cyclelucky/article/details/135121888</guid><author>cyclelucky</author><pubDate>Thu, 21 Dec 2023 09:05:41 +0800</pubDate><description><![CDATA[为使无符号整型更易于使用，Kotlin 提供了用后缀标记整型字面值来表示指定无符号类型（类似于。类的 API 避免装箱开销；使用无符号数组时，会收到一条警告，表明此功能还不稳定；谨记，无符号数组不是一个稳定的功能，因此使用它们的API可能会因语言的变化而中断。表示不适合32位AARGGBB格式的带符号类型（如颜色）的十六进制常量。使用无符号数字初始化字节数组，而无需显式的 toByte() 强制转换。与有符号整型数组一样，提供了类似于。映射不会用有符号整数替换无符号整数。利用整数的全位范围来表示正值。]]></description><category></category></item><item><title><![CDATA[Kotlin 基本数据类型-数组]]></title><link>https://blog.youkuaiyun.com/cyclelucky/article/details/135106212</link><guid>https://blog.youkuaiyun.com/cyclelucky/article/details/135106212</guid><author>cyclelucky</author><pubDate>Wed, 20 Dec 2023 15:58:10 +0800</pubDate><description><![CDATA[数组是一种保存固定数量，相同类型值的数据结构Kotlin 中最常见的数组类型是由Array类表示的对象类型数组；因为在对象类型数组中使用原生类型会造成装箱开销，尽量改用原生类型数组。]]></description><category></category></item></channel></rss>