Swift

[ SWIFIT ] 데이터 νƒ€μž… κΈ°λ³Έ

Forest Yun 2021. 7. 11. 16:50
728x90

κ³΅λΆ€ν•œ λ‚΄μš©μ„ μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€.

 

Chapter 3 데이터 νƒ€μž… κΈ°λ³Έ

 

1. Int 와 UInt(unsigned Int)

  • μ •μˆ˜
  • λ²”μœ„
    1. Int : 음의 μ •μˆ˜λΆ€ν„° μ–‘μ˜ μ •μˆ˜κΉŒμ§€ 
    2. UInt : 0λΆ€ν„° μ–‘μ˜ μ •μˆ˜κΉŒμ§€. (μ΅œλŒ“κ°’μ΄ Int 보닀 크닀)
  • Int의. μ΅œλŒ“κ°’ 이상 UInt의 μ΅œλŒ“κ°’ λ―Έλ§Œμ„ μ‚¬μš©ν•˜κ²Œ λ˜λŠ” 경우 μ΄μ™Έμ—λŠ” Int κ°’ μ‚¬μš© ꢌμž₯
var integer: Int = -100
let unsignedInteger: UInt = 50

let largeInteger: Int64 = Int64.max
let smallUnsignedInt : UInt8 = UInt8.min //0

integer = Int(unsignedInteger) //Int와 UIntλŠ” λ‹€λ₯Έ νƒ€μž…μ΄κΈ° λ•Œλ¬Έμ— ν˜•λ³€ν™˜μ΄ ν•„μš”ν•˜λ‹€.

 

 

 

2. Bool

  • boolean νƒ€μž…. true/false
var boolean : Bool = true
boolean.toggle() //true - false λ°˜μ „

print("정닡은? \(boolean)") //false

 

 

 

3. Floatκ³Ό Double

  • λΆ€λ™μ†Œμˆ˜ νƒ€μž…. μ‹€μˆ˜
  • λ²”μœ„
    • Double - 64bits, μ΅œμ†Œ 15자리의 μ‹­μ§„μˆ˜λ₯Ό ν‘œν˜„ κ°€λŠ₯
    • Float - 32bits, 6자리의 μ‹­μ§„μˆ˜ ν‘œν˜„ κ°€λŠ₯
let floatValue: Float = 123456.1
let doubleValue: Double = 1234567890.1

 

 

 

 

4. Character

  • 문자
  • "" ν°λ”°μ˜΄ν‘œ μ‚¬μš©
let alphabetA: Character = "A"

 

 

 

 

5. String

  • λ¬Έμžμ—΄
  • "", ν°λ”°μ˜΄ν‘œ μ‚¬μš©

 

  λ°˜ν™˜κ°’ μ„€λͺ… μ˜ˆμ‹œ
append(String or Charter)   Appends the given string or character to this string.
: ν•΄λ‹Ή λ¬Έμžμ—΄μ— 주어진 λ¬Έμžμ—΄ λ˜λŠ” 문자 이어 뢙인닀.
let name: String = "88yhtserof"
let str: String = "제 이름은, "

print(str.append(name))
-> 제 이름은, 88yhtserof
+   + μ—°μ‚°μžλ₯Ό 톡해 λ¬Έμžμ—΄μ„ κ²°ν•©ν•  수 μžˆλ‹€. let name: String = "88yhtserof"

print("제 이름은, "+ name + " μž…λ‹ˆλ‹€.")
-> 제 이름은, 88yhtserof μž…λ‹ˆλ‹€.
λ¬Έμžμ—΄ 비ꡐ Bool 비ꡐ μ—°μ‚°μžλ₯Ό 톡해 λ¬Έμžμ—΄μ„ 비ꡐ할 수 μžˆλ‹€. let name: String = "88yhtserof"
let str: String = "제 이름은, "
var sampleBool : Bool = false

sampleBool = str != name
//true
hasPrefix(String) String Returns a Boolean value indicating whether the string begins with the specified prefix.
:λ¬Έμžμ—΄μ΄ νŠΉμ • 접두사(주어진 λ¬Έμžμ—΄)둜 μ‹œμž‘ν•˜λŠ”μ§€ μ•ˆ ν•˜λŠ”μ§€ λ°˜ν™˜
let name: String = "88yhtserof"
var sampleBool : Bool = false

sampleBool = name.hasPrefix("88")
//true
hasSuffix(String) String Returns a Boolean value indicating whether the string ends with the specified suffix.
:λ¬Έμžμ—΄μ΄ νŠΉμ • 접미사(주어진 λ¬Έμžμ—΄)둜 μ‹œμž‘ν•˜λŠ”μ§€ μ•ˆ ν•˜λŠ”μ§€ λ°˜ν™˜
let name: String = "88yhtserof"
var sampleBool : Bool = false

sampleBool = name.hasSuffix("88")
//false
uppercased() String Returns an uppercase version of the string.
:λ¬Έμžμ—΄μ„ λŒ€λ¬Έμžλ‘œ λ§Œλ“€μ–΄ λ°˜ν™˜
let name: String = "88yhtserof"
var test: String = ""

test = name.uppercased()
print(test)
->88YHTSEROF
Dlowercased() String Returns a lowercase version of the string.
: λ¬Έμžμ—΄μ„ μ†Œλ¬Έμžλ‘œ λ§Œλ“€μ–΄ λ°˜ν™˜
let name: String = "88yhtserof"
var test: String = ""

test = name.uppercased()
print(test)
->88yhtserof
isEmpty Bool A Boolean value indicating whether a string has no characters
: λ¬Έμžμ—΄μ΄ 문자λ₯Ό 가지고 μžˆλŠ”μ§€ μ•„λ‹Œμ§€ λ°˜ν™˜
let name: String = "88yhtserof"
var boolean:Bool = false


boolean = name.isEmpty
//false
count Int The number of characters in a string.
: λ¬Έμžμ—΄μ— μžˆλŠ” 문자의 개수 λ°˜ν™˜
let name: String = "88yhtserof"

print(name.count)

->10
"""

"""
  μ½”λ“œμƒμ—μ„œ μ—¬λŸ¬ μ€„μ˜ λ¬Έμžμ—΄μ„ 직접 μž‘μ„±ν•  λ•Œ μ‚¬μš© let str: String = """
     μ½”λ“œμƒμ—μ„œ μ—¬λŸ¬ μ€„μ˜ λ¬Έμžμ—΄μ„
     μ§μ ‘ μž‘μ„±ν•  λ•Œ μ‚¬μš©
"""

 

 

5.1 특수문자

  • λ¬Έμžμ—΄ λ‚΄μ—μ„œ 일정 κΈ°λŠ₯을 ν•˜λŠ” 특수문자(μ œμ–΄λ¬Έμž)
  • \ λ°±μŠ¬λž˜μ‹œμ— νŠΉμ •ν•œ 문자λ₯Ό μ‘°ν•©ν•˜μ—¬ μ‚¬μš©
특수문자 μ„€λͺ…
\n μ€„λ°”κΏˆ 문자
\\ λ¬Έμžμ—΄ λ‚΄μ—μ„œ λ°±μŠ¬λž˜μ‹œλ₯Ό ν‘œν˜„ν•˜κ³ μž ν•  λ•Œ μ‚¬μš©
\" λ¬Έμžμ—΄ λ‚΄μ—μ„œ ν°λ”°μ˜΄ν‘œλ₯Ό ν‘œν˜„ν•˜κ³ μž ν•  λ•Œ μ‚¬μš©
\t νƒ­ 문자.
\0 λ¬Έμžμ—΄μ΄ λλ‚¬μ„μŒ μ•Œλ¦¬λŠ” null문자
print(#"λ¬Έμžμ—΄ λ‚΄λΆ€μ—μ„œ 특수문자λ₯Ό μ‚¬μš©ν•˜κΈ° μ‹«λ‹€λ©΄ λ¬Έμžμ—΄ μ•ž, 뒀에 #을 뢙여라"#)
>>>λ¬Έμžμ—΄ λ‚΄λΆ€μ—μ„œ 특수문자λ₯Ό μ‚¬μš©ν•˜κΈ° μ‹«λ‹€λ©΄ λ¬Έμžμ—΄ μ•ž, 뒀에 #을 뢙여라

var test:Int = 123
print(#"특수문자λ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šμ„ λ•Œλ„ λ¬Έμžμ—΄ 보간법을 μ‚¬μš©ν•  수 μžˆλ‹€. \#(test)"#)
>>>특수문자λ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šμ„ λ•Œλ„ λ¬Έμžμ—΄ 보간법을 μ‚¬μš©ν•  수 μžˆλ‹€. 123

 

 

 

 

6. Any, AnyObject와 nil

  • Any : μŠ€μœ„ν”„νŠΈμ˜ λͺ¨λ“  데이터 νƒ€μž…μ„ μ‚¬μš©ν•  수 μžˆλ‹€.
var someVar: Any = "88yhtserof"
someVar = 50
someVar = 100.1 //Any둜 μ„ μ–Έλœ λ³€μˆ˜μ— λ¬Έμžμ—΄, μ •μˆ˜, μ‹€μˆ˜ λ˜λŠ” μ–΄λ–€ νƒ€μž…μ˜ 값이라도 ν• λ‹Ήν•  수 μžˆλ‹€.
  • AnyObject : Any λ³΄λ‹€λŠ” 쑰금 ν•œμ •λœ 의미둜 클래슀의 μΈμŠ€ν„΄μŠ€λ§Œ ν• λ‹Ήν•  수 μžˆλ‹€.
  • nil : λ³€μˆ˜ λ˜λŠ” μƒμˆ˜μ— 값이 λ“€μ–΄μžˆμ§€ μ•Šκ³  λΉ„μ–΄μžˆμŒμ„ λ‚˜νƒ€λ‚΄λŠ”λ° μ‚¬μš©

 

 

 

μ•Όκ³° - μŠ€μœ„ν”„νŠΈ ν”„λ‘œκ·Έλž˜λ° 5판 (SWIFT5)
Swift 곡식 λ¬Έμ„œ String λ¬Έμ„œ
728x90