Computer >> 컴퓨터 >  >> 프로그램 작성 >> Android

Kotlin에서 const와 val의 차이점은 무엇입니까?

<시간/>

const 키워드

상수 키워드는 변수 값이 const로 유지될 때마다 Kotlin에서 사용됩니다. 애플리케이션의 수명 주기 전반에 걸쳐. const 클래스의 불변 속성에만 적용됩니다. 간단히 말해서 const를 사용합니다. 클래스의 읽기 전용 속성을 선언합니다.

const에 적용되는 몇 가지 제약 조건이 있습니다. 변하기 쉬운. 다음과 같습니다 -

  • 상수 클래스의 불변 속성에만 적용할 수 있습니다.

  • 어떤 함수나 클래스 생성자에도 할당할 수 없습니다. 원시 데이터 유형 또는 문자열로 할당해야 합니다.

  • 상수 변수는 컴파일 타임에 초기화됩니다.

예시

다음 예에서는 const를 선언합니다. 변수이며 우리는 애플리케이션에서 동일한 변수를 사용할 것입니다.

const val sName = "tutorialspoint";
// This line will throw an error as we cannot
// use Const with any function call.
// const val myFun = MyFunc();

fun main() {
   println("Example of Const-Val--->"+sName);
}

출력

다음과 같은 결과가 나올 것입니다 -

Example of Const-Val--->tutorialspoint

값 키워드

Kotlin에서는 val 변수 선언에도 사용됩니다. 둘 다 "val""const val" 클래스의 읽기 전용 속성을 선언하는 데 사용됩니다. const로 선언된 변수 런타임에 초기화됩니다.

  • 클래스의 불변 속성을 처리합니다. 즉, val을 사용하여 읽기 전용 변수만 선언할 수 있습니다. .

  • 런타임에 초기화됩니다.

  • val의 경우 , 내용을 음소거할 수 있는 반면 const val의 경우 , 내용을 음소거할 수 없습니다.

예시

val을 사용하여 함수를 전달하기 위해 이전 예제를 수정합니다. 런타임 시 오류가 발생하지 않습니다.

const val sName = "tutorialspoint";

// We can pass function using val
val myfun=MyFunc();

fun main() {
   println("Example of Const-Val--->"+sName);
   println("Example of Val--->"+myfun);
}

fun MyFunc(): String {
   return "Hello Kotlin"
}

출력

코드를 실행하면 다음과 같은 출력이 생성됩니다. -

Example of Const-Val--->tutorialspoint
Example of Val--->Hello Kotlin