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

Swift 데이터 타입

이 튜토리얼에서는 Swift 프로그래밍 언어가 지원하는 다양한 데이터 타입을 알아보고, 변수나 상수를 생성할 때 사용할 것입니다.

데이터 타입은 변수나 상수가 저장할 수 있는 데이터(값)의 타입입니다. 예를 들어, 기사Swift 변수와 상수,문자 데이터를 메모리에 저장하기 위해 변수와 상수를 생성했습니다。

이 데이터는 텍스트일 수 있습니다/문자열(“ Hello”) 또는 숫자(12.45) 또는 비트(0&1)。데이터 타입을 정의함으로써 정의된 데이터 타입만 저장할 수 있습니다。

이제 한 장면을 보겠습니다:

게임을 만들려고 생각하세요. 대부분의 게임은 게임이 끝나면 고분과 플레이어 이름을 표시하므로, 이 두 데이터를 저장해야 합니다.

고분(highScore)은 숫자(예: 59),플레이어의 이름(playerName)은 문자열(예: Jack)입니다. 데이터를 저장하기 위해 두 개의 변수나 상수를 생성할 수 있습니다.

Swift에서는 변수와 데이터 타입을 다음과 같이 선언하여 할 수 있습니다:

var highScore:Int = 59
var playerName:String = "Jack"

여기서는 Int 타입의 HighScore 변수를 선언하여 값을 저장합니다.59문자열 타입의 playerName 변수에 값을 저장합니다.

하지만, 다음과 같은 작업을 수행하면:

var highScore:Int = "Jack"

컴파일 시 오류가 발생하며, 예외가 발생합니다. String 타입의 값을 지정된 Int 타입으로 변환할 수 없습니다.

이는 highScore를 정수 값을 저장하기 위해 선언했지만, 문자열을 저장한 것입니다. 이 오류는 highScore가 하나의 숫자만 저장할 수 있도록 보장합니다.

데이터 타입의 크기

데이터 타입의 또 다른 중요한 부분은 크기입니다. 이는 주어진 변수나 상수에 저장할 수 있는 데이터 크기를 지정합니다.

Type의 크기는 비트 단위로 측정되며, 최대로 저장할 수 있습니다. 2비트로 생각할 수 있습니다.Bit을 이해한다면, 0 또는1의 값을 저장합니다.

따라서,Type size = 1 비트를 저장할 수 있습니다. 2 1 = 2두 가지 값: 0 또는 1따라서, 알파벳 프로그램의1비트 시스템에서는 0을 a로 해석할 수 있습니다./0을 b로 해석하면1b로 해석됩니다/1.0로 표현됩니다.

0 -> a 또는 0 
1 -> b 또는 1

또한, 두 자리 시스템에서는 최대로 저장할 수 있습니다.2 2 = 4개의 값:(00,01,10,11) 각 조합은 다음과 같이 표현될 수 있습니다:

00 -> a 또는 0
01 -> b 또는 1
11 -> c 또는 2
10 -> d 또는 3

비트 시스템에서는 최대로 저장할 수 있습니다.2 n개

Swift 데이터 타입

아래는 Swift에서 가장 많이 사용되는 데이터 타입을 나열했습니다:

부울 타입(Bool)

  • Bool 타입으로 선언된 변수/상수는 두 가지 값만 저장할 수 있습니다. true 또는 false.

  • 기본 값:false

  • if 처리-else 문에서 자주 사용됩니다. 문서를 참조하세요. Swift if else

예제1:부울 데이터 타입

let result:Bool = true
print(result)

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

true

정수 타입(Integer)

  • 정수 타입으로 선언된 변수/정수 상수는 양수와 음수, 0을 포함한 소수점 부분이 없는 값을 저장할 수 있습니다.

  • 기본 값0

  • 크기:32/64플랫폼 유형에 따라 정수)

  • 범위:-2,147,483,648 부터 2,147,483,647(32플랫폼에 따라)
    -9223372036854775808 부터 9223372036854775807(64플랫폼에 따라)

  • Integer 타입의 변형이 많습니다. 예를 들어, UInt, Int와 같습니다.8,Int16중에서 가장 일반적으로 사용되는 것은 Int입니다.

  • 변수를 지정하려면/상수가 포함할 수 있는 정수의 크기/유형, UInt, Int을 사용할 수 있습니다8、Int16더 구체적으로 저장하는 것에 대해 다음에 설명하겠습니다.

예제2정수 데이터 유형

var highScore:Int = 100
print(highScore)
highScore = -100
print(highScore)

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

100
-100

위의 예제에서는 Int 타입의 변수 highScore를 선언했습니다. 먼저, 그를100을 사용하여 값을 변경합니다, 따라서 print (highScore)를 스크린에 출력100.

그 후, 우리는 대입 연산자 highScore =-100 값을 변경합니다 -100, 따라서 스크린에 (highScore) 출력-100.

SWIFT에서 Int 유형의 몇 가지 변형을 살펴보겠습니다.

Int8(정수)

  • 양수와 부정수를 저장할 수 있는 정수 유형의 변형.

  • 기본 값0

  • 크기:8비트를 저장할 수 있습니다.

  • 범위:-128 부터 127

개의 Int8정수는 총2 8 =(256)개의 값. 즉, 0부터 255사이의 숫자를 저장할 수 있습니다.

하지만 Int8 양수와 부정수를 포함하여 저장할 수 있습니다. 따라서-128까지127의 숫자, 0 포함하여 총256개의 값이나 숫자.

var highScore:Int8 = -128//정확
highScore = 127 //정확
highScore = 128 //오류
highScore = -129 //오류

또한 사용할 수 있습니다 Swift 함수 Swift 함수의 내장된 .min과 .max를 사용하여 타입이 저장할 수 있는 최대와 최소 값을 찾을 수 있습니다.

예제3최대와 최소 Int8데이터 유형

print(Int8.min)
print(Int8.max)

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

-128
127

UInt(불가능한 정수)

  • 정수 유형의 변형인 UInt(불가능한 정수)는 무기한 숫자(양수 또는 0)만 저장할 수 있습니다.

  • 기본 값0

  • 크기:32/64플랫폼 유형에 따라 정수)

  • 범위0부터 4294967295(32플랫폼에 따라)
    0부터 18446744073709551615(64플랫폼에 따라)

예제4UInt 데이터 유형

var highScore:UInt = 100
highScore = -100 //이와 같은 작업을 시도할 때 컴파일 시 오류가 발생합니다

위의 코드는 컴파일 시 오류를 발생시킵니다. 불가능한 정수는 0 또는 긍정적인 숫자만 저장할 수 있습니다. 부정적인 숫자를 불가능한 정수에 저장하려고 하면 오류가 발생합니다.

Float(소수점 숫자)

  • 소수점 유형으로 선언된 변수나 상수는 소수점이나 소수점이 있는 숫자를 저장할 수 있습니다.

  • 기본 값0.0

  • 크기:32정수로 표현된 소수점 숫자입니다.

  • 범위:1.2 * 10 -38부터3.4 * 10 38(〜6정수)

예제5수치 데이터 유형

let highScore:Float = 100.232
print(highScore)

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

100.232

Double(이진 정밀 소수점 숫자)

  • Double형으로 선언된 변수/정수로 표현된 소수점 숫자도 소수점이나 소수점이 Float보다 큰 숫자를 저장할 수 있습니다.

  • 기본 값0.0

  • 크기:64정수로 표현된 소수점 숫자입니다.(따라서 Double형 변수는 소수점이나 소수점이 Float보다 큰 숫자를 저장할 수 있습니다.)

  • 범위:2.3×10 -308〜1.7 * 10 308(〜15비트)

예제6:이진 정밀 데이터 타입

let highScore:Double = 100.232321212121
print(highScore)

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

100.232321212121

Character(문자)

  • Character 타입으로 선언된 변수/상수는 단일 문자 문자열 리터럴을 저장할 수 있습니다.

  • Swift에서는 \u{n}(Unicode 문자,n은 십육진수로 표시)를 사용하여 emoji나 영어 이외의 언어를 문자로 사용할 수 있습니다.

예제7:문자 데이터 타입

let playerName:Character = "J"
let playerNameWithUnicode:Character = "\u{134"}
print(playerName)
print(playerNameWithUnicode)

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

J
Ĵ

String(문자열)

  • String 타입으로 선언된 변수나 상수는 문자 집합을 저장할 수 있습니다.

  • 기본 값“”(빈 문자열)

  • 그것은 값 타입입니다。

  • for를 사용할 수 있습니다-반복문을 통해 문자열을 순회합니다。참조Swift for-반복문 내에서

  • Swift는 문자열에서 특수 문자열을 사용하기 위해 특수 문자열을 지원합니다. 예를 들어

    • \0 (빈 문자),

    • \\\ (일반 반취소 기호\),

    • \t (탭 기호),

    • \v (垂直 태그),

    • \r (리턴 기호),

    • \" (중간 기호),

    • \' (단락 기호),와

    • \u{n} (Unicode 문자열,n은 십육진수로 표시)。

예제8:문자 데이터 타입

let playerName = "Jack"
let playerNameWithQuotes = "\"Jack\""
let playerNameWithUnicode = "\u{134}ack"
print(playerName)
print(playerNameWithQuotes)
print(playerNameWithUnicode)

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

Jack
"Jack"
Ĵack

참조Swift 문자와 문자열문자와 문자열의 선언, 연산 및 예제에 대한更多信息을 배울 수 있습니다.

이 데이터 타입 외에도 Swift에는 다른 고급 데이터 타입이 있습니다. 예를 들어 tupleoptionalrangeclassstructure 다음 장에서 배울 것입니다.

기억해야 할 점

1Swift는 타입 추론 언어이므로, 변수나 상수는 저장된 값에서 자동으로 타입을 추론할 수 있습니다. 따라서 변수나 상수를 생성할 때 타입을 건너뛰실 수 있습니다. 그러나 읽기 쉽기 위해 타입을 작성하는 것을 고려할 수 있지만, 이를 권장하지 않습니다.

예제9:타입 추론의 변수/상수

let playerName = "Jack"
print(playerName)

Swift 컴파일러는 값에 따라 자동으로 변수의 타입을 추론할 수 있습니다.

2. Swift는 타입 안전한 언어입니다. 변수를 특정 타입으로 정의하면 이후에 다른 데이터 타입으로 변경할 수 없습니다.

예제10:Swift는 타입 안전한 언어입니다

let playerName:String
playerName = 55 //컴파일 시간 오류

위의 코드는 오류를 생성합니다.因为我们已经指定变量playerName将为String。 因此我们无法在其中存储一个整数。