Tag: 编码风格

由于val属性,无法从init块中调用函数

我想初始化我的类的属性。 因为我大量使用Kotlin的功能元素,所以我想将这些初始化设置放在命名函数中,以提高代码的可读性。 问题是我不能分配一个val属性,如果代码不在init块中,而是在init块中调用的函数中。 如果属性是vals,是否有可能将类的初始化分解为不同的函数? 这里是代码: val socket: DatagramSocket = DatagramSocket() val data: ByteArray = "Cassiopeiae server discovery packet".toByteArray() val broadcastAddresses: List<InetAddress> init { socket.broadcast = true val interfaceAddresses = ArrayList<InterfaceAddress>() collectValidNetworkInterfaces(interfaceAddresses) collectBroadcastAddresses(interfaceAddresses) } private fun collectValidNetworkInterfaces(interfaceAddresses: ArrayList<InterfaceAddress>) { NetworkInterface.getNetworkInterfaces().toList() .filter { validInterface(it) } .forEach { nInterface -> nInterface.interfaceAddresses.toCollection(interfaceAddresses) } } private fun collectBroadcastAddresses(interfaceAddresses: ArrayList<InterfaceAddress>) { […]

Kotlin:顶级职能应该去哪里?

关于Kotlin顶级功能应该在哪里进行最佳实践/惯例? 假设我正在使用实用程序函数创建一个包myproject.util 。 在Java中,创建与包结构相匹配的目录结构是一种很好的做法。 不知道Kotlin是否真的如此。 无论如何,我想效用函数应该去myproject/util/somefile.kt ,但我不知道somefile应该是什么。