Kotlin - @PublishedApi 的意义是什么?

ser*_*0ne 5 kotlin

有什么区别

@PublishedApi
internal class Foo
Run Code Online (Sandbox Code Playgroud)

class Foo
Run Code Online (Sandbox Code Playgroud)

根据文档:

该声明实际上是公开的,这应该考虑到二进制兼容性维护。

那么,如果它是“有效公开”的,那么实际的区别是什么?

Ten*_*r04 13

IDE 将其视为内部的,但您可以通过内联函数间接公开代码。

主要目的是允许公共内联函数调用它,而不需要直接从模块外部调用它。从这个意义上说,修改函数时必须小心,因为从技术上讲它已经以字节码形式公开了。