본문 바로가기
Kotlin/Release Notes

[Kotlin Release Notes] Kotlin 1.1-M03 is here!

by 노력남자 2023. 9. 3.
반응형

2016년 11월 24일

 

코틀린 1.1의 세 번째 마일스톤을 발표하게 되어 기쁩니다. 이 릴리스는 새로운 언어 기능뿐만 아니라 JavaScript 백엔드, 컴파일러 및 IDEA 플러그인의 개선과 수정 사항도 가져왔습니다. 이 새로운 릴리스에는 또한 Kotlin 1.0.5에서 소개된 모든 툴링 기능이 포함되어 있으며 IntelliJ IDEA 2016.3 EAP 및 Android Studio 2.2 및 2.3과 호환됩니다.

다른 마일스톤 릴리스와 마찬가지로 1.1의 새로운 언어 및 라이브러리 기능에 대한 역호환성 보장은 제공되지 않습니다. 1.1 마일스톤 릴리스에서 소개된 내용은 최종 1.1 릴리스 전에 변경될 수 있습니다.

이 릴리스와 관련하여 새로운 기능 또는 이 릴리스에서 겪는 어떠한 문제에 대한 피드백을 YouTrack포럼 및 Slack을 통해 공유해주시기 바랍니다.

1.1-M03의 전체 변경 로그는 여기에서 확인하실 수 있습니다.


사용되지 않은 심볼에 대한 밑줄


이제 람다의 사용되지 않은 매개변수의 이름 대신 밑줄을 사용할 수 있습니다:

 

foo { _, x -> ... }


또한 파괴 할당 선언의 사용되지 않은 변수 이름도 밑줄로 대체할 수 있습니다.

 

val (x, _, z) = expr


두 경우 모두 해당 KEEP에서 자세히 설명되어 있습니다.


숫자 리터럴에서의 밑줄


Java 8 사양에 따라 Kotlin은 이제 숫자 리터럴에서 숫자 사이에 단일 밑줄 기호를 지원합니다. 예를 들어:

val ONE_MILLION = 1_000_000


자세한 내용 및 예제는 KEEP을 참조하십시오.


일반적인 열거형 값 접근


이 제안의 지원이 두 개의 내장 함수 형태로 표준 라이브러리에 추가되었습니다:

 

inline fun <reified T : Enum<T>> enumValues(): Array<T>
inline fun <reified T : Enum<T>> enumValueOf(name: String): T


이 함수들은 일반적인 열거형 타입의 값을 나열하는 데 사용됩니다. 예를 들어,

enum class RGB { RED, GREEN, BLUE }
print(enumValues<RGB>().joinToString { it.name }) // RED, GREEN, BLUE 출력


빌더 유사 DSL의 범위 제어


KEEP에서 자세히 설명된 대로 DSL 작성자는 빌더와 유사한 구조의 범위 제한 표현에 문제가 있었습니다. 예를 들어, 일부 HTML 빌더 DSL에서:

 

table {
  tr {
    tr {} // PROBLEM: Table.tr() is valid here
  }
}


이 문제를 해결하기 위해 @DslMarker 주석을 추가했습니다. 이를 통해 이러한 경우에 더 정확하게 가시성 범위를 제어할 수 있습니다. 사용 예는 이 기능을 사용하는 kotlinx.html 라이브러리의 미리보기 버전을 참조하십시오 (HtmlTagMarker 및 HTMLTag 구현과 미리보기 라이브러리 사용 정보에 대한 DSL-markers.md 참조).


표준 라이브러리 통합


다양한 플랫폼에 대한 표준 라이브러리 통합 프로세스가 진행 중입니다. 1.1-M2에서 예외 유형의 통합을 시작하였으며 이제 kotlin.* 패키지에서 지원되는 일부 공통 유형이 기본적으로 가져와집니다. 이에는 다음이 포함됩니다:

 

  • kotlin.collections의 ArrayList, HashSet, LinkedHashSet, HashMap, LinkedHashMap
  • kotlin.text의 Appendable 및 StringBuilder
  • kotlin.comparisons의 Comparator


JVM에서는 이것들이 그저 java.util 및 java.lang의 기존 유형의 typealias입니다.


JavaScript 백엔드에서의 새로운 언어 기능 지원


JavaScript 백엔드는 이제 다음의 Kotlin 언어 기능을 JVM 백엔드와 동등하게 지원합니다:

  • 코루틴
  • 람다 매개변수에서의 파괴 할당
  • 파괴 할당 선언에서의 사용되지 않은 변수 이름

 

JS 코드 생성 개선


JavaScript 백엔드는 이제 더 정적으로 확인 가능한 코드를 생성하여 미니파이어, 최적화 도구, 린터 등과 같은 JS 코드 처리 도구와 더 호환되도록 개선되었습니다.


시험해보는 방법


Maven/Gradle에서: 빌드 스크립트와 프로젝트를 위해 http://dl.bintray.com/kotlin/kotlin-eap-1.1을 저장소로 추가하고, 컴파일러와 표준 라이브러리의 버전 번호로 1.1-M03을 사용하십시오.

IntelliJ IDEA에서: 도구 → Kotlin → Kotlin 플러그인 업데이트 구성으로 이동한 다음, "Early Access Preview 1.1"을 업데이트 채널 드롭다운 목록에서 선택한 후 업데이트를 확인해주시기 바랍니다.

코틀린을 즐겨주세요!

 

원문

 

https://blog.jetbrains.com/kotlin/2016/11/kotlin-1-1-m03-is-here/

반응형

댓글