我正在尝试实现类似以下C语言的类似数据类定义:
struct A {
int b;
struct {
int d;
} c;
};
根据Dmitry Jemerov的说法,这是可能的,但是他没有提供任何代码示例。 https://discuss.kotlinlang.org/t/is-there-a-reason-for-not-allowing-inner-data-classes/2526/5
您可以简单地使其嵌套在另一个类中。嵌套类可以是数据类。
如果它是真的应该怎么做?
答案 0 :(得分:6)
否,Kotlin不支持此类匿名结构。
您都可以从字面上嵌套类:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<context-root>MyContextName</context-root>
</jboss-web>
或使用更通用的语法:
data class A(
val b: Int,
val c: C
) {
data class C(
val d: Int
)
}
实际上,这里不需要“嵌套”。区别主要在于您访问data class C(
val d: Int
)
data class A(
val b: Int,
val c: C
)
类的方式:C
或仅访问A.C
。