English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Swift 변수, 상수 및 리터럴

이 문서에서는 Swift 프로그래밍의 변수, 상수, 리터럴 및 예제를 이해하게 됩니다.

변수는 무엇인가요?

프로그래밍에서는 변수가 메모리에 데이터를 저장하고 전체 프로그램에서 사용할 수 있습니다. 하지만 각 변수에 독특한 이름을 주어야 합니다. 이 이름을identifier(标识符)。可以将变量看作保存信息的容器,并且以后可以更改这些信息。

从技术上讲,您可以将变量视为用于在其中存储书包的一些书,以后也可以将这些书替换为其他书籍。

如何在Swift中声明变量?

在Swift中,我们使用var关键字声明变量。

var siteName: String
print(siteName)

我们已经声明了一个名为 siteName 的String变量,这意味着它只能保存字符串值。访问Swift字符串可以了解有关字符串的更多信息。

如果您尝试在Playground中运行以上代码,则会给我们带来编译时错误(在初始化之前使用变量),因为它没有存储/包含任何值。

如何在Swift中为变量赋值?

您可以使用赋值运算자(=)在变量中赋值。

예제1:声明并将值分配给变量

var siteName: String
siteName = "Apple.com"
print(siteName)

或者}}

您还可以将该值内联赋值为:

var siteName: String = "Apple.com"
print(siteName)

프로그램을 실행할 때, 출력은 다음과 같습니다:

Apple.com

变量 siteName,现在包含值“ Apple.com”。

由于Swift是一种类型推断语言,因此它可以自动推断(知道)“ Apple.com”是一个字符串,并声明siteName为String类型。因此,您甚至可以将(:String)声明中的类型删除为:

예제2:在Swift中类型推断的变量

var siteName = "Apple.com"
print(siteName)

프로그램을 실행할 때, 출력은 다음과 같습니다:

Apple.com

由于siteName是一个变量,因此您还可以通过简单地使用赋值运算자来更改其值,而无需使用var关键字,例如:

예제3:更改变量的值

var siteName = "Apple.com" 
// 为siteName分配一个新值
siteName = "w"3codebox.com"
print(siteName)

프로그램을 실행할 때, 출력은 다음과 같습니다:

oldtoolbag.com

什么是常量?

常量是变量的一种特殊类型,其值不能更改。将常量视为保存以后无法更改的信息的容器。

从技术上讲,您可以将常量视为用于存储某些书籍的书包,而将这些书放入书包后就无法替换。

如何在Swift中声明常量?

在Swift中,我们使用 let 关键字来声明变量。

let siteName: String
print(siteName)

我们已经声明了一个名为 siteName 的常量字符串。

如果您尝试运行以上代码,则会给我们带来编译时错误(初始化之前使用常量),因为它不包含/保留任何值。

如何在Swift中为常量分配值?

您可以使用赋值运算자(=)在与变量相同的常量中赋值。

예제4:声明一个值并将其分配给一个常量

let siteName: String
siteName = "Apple.com"
print(siteName)

或者}}

值可以 be specified inline as

let siteName:String = "Apple.com"

프로그램을 실행할 때, 출력은 다음과 같습니다:

Apple.com

이제, 상수 siteName은/持有值为“ Apple.com”。

와 변수와 유사하게, 타입(:String)을 선언에서 제거할 수 있습니다. 예를 들어:

예제5:Swift에서의 타입 추론 상수

let siteName = "Apple.com"
print(siteName)

프로그램을 실행할 때, 출력은 다음과 같습니다:

Apple.com

但是与变量不同,您不能更改常量的值。所以,你不能这么做:

예제6:常量的值更改(不允许)

let siteName = "Apple.com"
siteName = "w"3codebox.com" //compile time error
print(siteName)

위의 문장은 오류를 발생시킵니다.因为我们已经说过了,一旦存储了数据,常量的值就不能更改。这是变量和常量之间的关键区别。

literal이란 무엇인가요?

literal은 원본 코드에 직접 나타나는 값입니다. 이는 숫자, 문자, 문자열 등일 수 있습니다. 예를 들어, "Hello, World",12、23.0, "C"는 literal의 간단한 예입니다. literal은 변수나 상수에 값을 초기화하는 데 일반적으로 사용됩니다.

예를 들어:

let siteName = "Apple.com"

위의 표현식에서 siteName은 변수이며, "Apple.com"은 literal입니다.

Swift에서 literal의 타입

정수 literal

이는 데시imal, 2진, 8진, 16진 값을 나타냅니다. 이는 네 가지 타입이 있습니다.

  • 2진 literal

    • 2진 값을 나타냅니다.

    • 0b로 시작합니다.

  • 8진 literal

    • 8진 값을 나타냅니다.

    • 0o로 시작합니다.

  • 16진 literal

    • 16진 값을 나타냅니다.

    • 0x로 시작합니다.

  • 소수 literal

    • 데시imal 값을 나타냅니다.

    • 0에서 시작합니다. 정수 literal에서 선언한 모든 것이 데시imal 타입입니다.

예제7존재하는 정수 literal을 Swift에서 어떻게 사용하나요?

let binaryNumber = 0b11111111
print(binaryNumber)
print(1231)

프로그램을 실행할 때, 출력은 다음과 같습니다:

255
1231

위의 프로그램에서, 두 개의 정수 literal이 있습니다. 0b11111111(이진 literal)과1231(데시imal literal)입니다.11111111 의 데시imal 값은 255따라서 print(binaryNumber) 문은 화면에 출력 255。

비슷하게, print(1231) 데버거에서 데시imal 값 출력 255

문자열과 문자 literal

문자 literal은 두 개의 双引号로 둘러싸인 문자 시퀀스이며, 문자 literal은 두 개의 双引号으로 둘러싸인 단일 문자입니다.

예제8존재하는 문자열과 문자 literal을 Swift에서 어떻게 사용하나요?

let someCharacter:Character = "C"
let someString:String = "Swift is awesome"

위의 프로그램에서 "C"은 문자 리터럴이며, "Swift is awesome"은 문자열 리터럴입니다。

浮点 리터럴

float과 double 데이터 타입을 초기화하는 변수. 그것은 두 가지 유형을 가질 수 있습니다:

소수:

옵션 지수를 가질 수 있으며, 대문자 또는 소문자 e로 표시됩니다. exp 지수를 가진 십진 수는 기본 수를 10 exp

예제9:Swift에서 십진 리터럴을 어떻게 사용하나요?

let someFloat = 12.23
let someAnotherFloat = 3.14e2 
print(someFloat)
print(someAnotherFloat)

프로그램을 실행할 때, 출력은 다음과 같습니다:

12.23
314.0

위의 프로그램에서12.23,3.14e2는浮点 리터럴입니다。3.14e2 지수로 표현된 경우, 해당 기본 수를3.14 * 10 2

십육진:

십육진 부울 수는 대문자 또는 소문자 p로 표시된 지수를 가지고 있어야 합니다. exp 지수를 가진 십육진 수는 기본 수를2 exp

예제10:Swift에서 십육진 리터럴을 어떻게 사용하나요?

let someFloat = 0xFp10 
let someAnotherFloat = 0xFp-12
print(someFloat)
print(someAnotherFloat)

프로그램을 실행할 때, 출력은 다음과 같습니다:

15360.0
0.003662109375

위의 프로그램에서 0xFp10,0xFp-12 는浮点 리터럴입니다。0xFp10지수로 표현된 경우, 해당 기본 수를15 * 210(F는 십진수로15)。따라서, print(someFloat)은 화면에서 출력됩니다15360.0。

동일하게, 0xFp-12 相当于 15 * 2-12따라서, print(someAnotherFloat)은 화면에서 0.00을 출력합니다3662109375。

부울 리터럴

swift에는 두 가지 부울 리터럴이 있습니다. 그들은 각각 true와 false입니다.。

예제11:Swift에서 부울 리터럴을 어떻게 사용하나요?

let result:Bool = false

위의 프로그램에서 false는 부울 상수로, 상수 result에 할당되었습니다.

변수와 상수의 규칙과 최선의 관행

  1. 의미 있는 이름을 선택하세요. 예를 들어,var name 보다 var n 더 의미 있게

  2. camelCase 표기법으로 변수나 상수를 선언합니다.骆驼表示法是以小写字母开头。例如:

    var studentName
    let studentAge
    let address
  3. 변수와 상수를 정의할 때 표시하지 않아도 됩니다. 이름 표시를 사용하지 않는다는 것은 프로그램에서 사용하지 않을 것을 의미합니다. 많은 경우에 사용하지 않는 변수를 생성하고 싶습니다. 이 경우, _ 대체자를 사용할 수 있습니다:

     //
    

               

  4. 한 번만 설정해야 하는 값이면 상수를 사용합니다. 그러나 이후에 변경이 필요하다면 변수를 사용하십시오.

  5. 상수와 변수 이름은 공백 문자, 수학 기호, 화살표, 비공용(또는 무효) 유니코드 코드 포인트 또는 선과 상자 그래픽 문자를 포함할 수 없습니다. 또한, 이름의 다른 부분에 포함될 수 있지만, 이름은 숫자로 시작할 수 없습니다.

    var 12 = "Apple.com" //컴파일 오류: 예상 패턴 필요
    var @hello = "Hello" //컴파일 오류: 예상 패턴 필요