코틀린 ‘문자열 템플릿’ 공부 hyperskill #15

Table of Contents

문자열

문자열 템플릿 시간입니다. 오늘도 열심히 해보겠습니다.

때로는 변수 값을 텍스트에 입력해야 하는 경우가 있습니다. 다행스럽게도 Kotlin은 문자열 템플릿을 사용하여 이를 도와줄 수 있습니다 . 이 주제에서는 그 목적에 대해 논의하겠습니다.

오늘의 기온에 대한 메시지를 섭씨로 표시해야 한다고 가정해 보겠습니다.

The temperature in ... is ... degrees Celsius.

대신 ...특정 값을 표시해야 합니다.

city두 개의 변수 와 가 있는 경우 temp연결을 사용하여 결과 문자열을 작성할 수 있습니다.

val city = "Paris"
val temp = "24"

println("The temperature in " + city + " is " + temp + " degrees Celsius.")

간단한 해결책입니다. 하지만 완벽합니까? 아뇨. 오히려 어색해요.

Kotlin은 문자열 템플릿을 사용하여 동일한 작업을 수행하는 보다 편리한 방법을 제공합니다. 어떻게 작동하나요? 문자열에 변수 값을 추가하려면 $변수 이름 앞에 달러 기호를 씁니다.

val city = "Paris"
val temp = "24"

println("The temperature in $city is $temp degrees Celsius.")

코드가 더 읽기 쉬워집니다. 두 코드 조각 모두 동일한 메시지를 인쇄합니다.

The temperature in Paris is 24 degrees Celsius.

문자열을 인쇄하지 않으려면 변수를 만들 수 있습니다.

val value = "55"
val currency = "dollars"
val price = "$value $currency" // "55 dollars"

변수 값이 포함된 문자열을 작성하려면 문자열 템플릿을 사용하는 것이 좋습니다. 문자열 연결 대신 사용해 보세요.

표현식용 템플릿

문자열 템플릿을 사용하여 임의 표현식의 결과를 문자열에 넣을 수 있습니다. 그렇게 하려면 {...}달러 기호 뒤의 중괄호 안에 전체 표현식을 포함하십시오 $. 예를 들어:

val language = "Kotlin"
println("$language has ${language.length} letters in the name")

다음과 같이 인쇄됩니다.

Kotlin has 6 letters in the name

다음은 {language.length}평가할 표현식입니다. 중괄호를 건너뛰면 다른 내용이 출력됩니다.

Kotlin has Kotlin.length letters in the name

따라서 이러한 실수를 방지하려면 항상 문자열 템플릿의 표현식에 중괄호를 사용하세요. 작동하더라도 변수값만 출력하고 싶다면 추가하지 마세요.

관용구

관용구는 명확하고 읽기 쉬운 코드를 위한 템플릿입니다. 이러한 패턴은 다른 사람들에게 코드를 명확하게 해주기 때문에 사용하는 것이 좋습니다. 모든 관용어는 커뮤니티에서 승인되므로 이를 사용하면 진정한 Kotlin 스타일 코드에 더 가까워질 수 있습니다. Kotlin 문서 에서 전체 관용구 목록을 찾을 수 있습니다 .

우리가 살펴볼 관용어는 문자열 보간 입니다 .

val language = "Kotlin"
println("Have a nice $language!")        // nice code
println("Have a nice " + language + "!") // bad practice

결론

이 주제에서 무엇을 기억해야 합니까? 두 가지 주요 사항이 있습니다.

  1. 문자열 템플릿을 사용하여 문자열에 변수 값을 삽입합니다 "this string has $value".
  2. 임의의 표현식을 얻으려면 중괄호를 사용하십시오: "The length is ${str.length}".

관련 주제

주제 전제 조건:

  1. 문자열 기본

답안 들…

20240120 182610 1
20240120 182610 2

20240120 182610 3

20240120 182610 4

20240120 182610 5

20240120 182610 6

20240120 182610 7

20240120 182610 8

아직까지는 쉽습니다… ㅎㅎㅎ 그러나 뒤에는 못푸는 문제들이 있을 예정…

누군가 이 블로그에 온다면 답을 달아주신다면 감사하겠네요

겨울인데 따뜻하게 하시고 그럼 좋은 하루되세요!