Android 上 Kotlin 的条件编译

Sim*_*rre 5 debugging android jvm kotlin

来自 C++ 或 Rust 等语言,能够根据构建类型具有不同的行为是非常好的,特别是对于日志记录或断言(调试构建执行测试,例如警告总是会失败并中止)。在这些语言中,我们可以做类似的事情;

#ifdef SOME_DEBUG_COMPILE_DEFINITION
#define DEBUG_LOG(msg) printf("Log: %s\n", msg);
#else
#define DEBUG_LOG(msg)
#endif
Run Code Online (Sandbox Code Playgroud)

或者用 Rust

#[cfg(debug_assertions)]
fn foo(){
  // do debug stuff
}

#[cfg(not(debug_assertions)]
fn foo() {
  // do release stuff
}
Run Code Online (Sandbox Code Playgroud)

Android 上的 Kotlin 有类似的东西吗?我似乎找不到任何关于此的文档。我当然希望有一些,因为如果不将其作为语言功能,那将是一个相当大的疏忽,特别是因为使用这样的功能可以使开发更加顺利(更快;更快),并且可以提供更有力的保证。