스위프트 처음 시작하기 (변수, 주석..)

hoBahk·2021년 6월 2일
0
post-thumbnail

1. 변수 기본 명명 규칙

  • 변수, 상수, 함수, 메서드 타입 등의 이름은 유니코드에서 지원하는 어떤 문자(한글, 한자, 영문, 숫자, 이모티콘 등등)라도 사용할 수 있다. 하지만 아래의 경우는 사용할 수 없다.
    • 스위프트에서 미리 정한 예약어 또는 키워드
    • 해당 코드 범위 내에서 미리 사용되는 기존 이름과 동일한 이름
    • 연산자로 사용될 수 있는 기호(+, -, *, /)
    • 숫자로 시작하는 이름
    • 공백이 포함된 이름
  • 함수, 메서드, 인스턴스, 이름은 첫 글자를 소문자로 사용하는 소문자 카멜케이스를 사용한다.
  • 클래스, 구조체, 익스텐션, 프로토콜, 열거형 이름은 타입의 이름이기 때문에 첫 글자를 대문자로 사용하는 대문자 카멜케이스를 사용한다.
  • 대소문자를 구별한다.

2. print() 와 dump() 함수

print() 함수는 디버깅 콘솔에 간략한 정보를 출력해주는 반면, dump()함수는 조금 더 자세한 정보를 출력해준다.

truct BasicInformation{
    let name: String
    var age: Int
}

var bhinfo: BasicInformation = BasicInformation(name:"bh", age:26)

class Person{
    var height: Float = 0.0
    var weight: Float = 0.0
}

let bh: Person = Person()
bh.height = 169.3
bh.weight = 65.2

print(bhinfo)
dump(bhinfo)

print()

print(bh)
dump(bh)

결과

BasicInformation(name: "bh", age: 26)
▿ __lldb_expr_22.BasicInformation
  - name: "bh"
  - age: 26

__lldb_expr_22.Person
▿ __lldb_expr_22.Person #0
  - height: 169.3
  - weight: 65.2

3.주석

1) 퀵헬프

Xcode에는 말풍선 형태로 레퍼런스 문서의 요약된 내용을 보여주는 퀵헬프라는 기능이 있다.
코드를 작성하는 중에 리퍼런스 문서로 이동하지 않고 데이터 타입니다 메서드 등의 간단한 정보를 확인할 수 있는 유용한 기능이다.

퀵헬프를 보려면 변수, 상수, 함수, 메서드, 타입 등 위에 마우스 커서를 위치한 다음 키보드의 [option]키를 누른 상태로 클릭하면 된다.

2) 주석 남기기

한 줄 주석

// 한 줄 주석

여러 줄 주석

/*





*/

중첩 주석

/*

/*러


//중첩주석
*/
가능
*/

3) 퀵헬프를 위한 마크업

일정한 마크업 형식에 따라 주석을 작성하면 퀵헬프를 통해 그 내용을 확인할 수 있다.
한 줄 주석은 /// 로 표현하고,
여러 줄 주석은 /** */ 로 나타낸다.

ex1)

/// 오류타입의 열거형 입니다.
/// - noName: 이름을 전달받지 못했을 때 발생하는 오류
/// - incorrectAge(age: Int): 나이가 0세 미만, 150세 초과인 경우 잘못된 나이로 인식하여 오류로 처리
/// - unknown: 알 수 없는 오류
enum HelloError: Error{
    case noName
    case incorrectAge(age: Int)
    case unknown
}

enum HelloError: Error의 퀵헬프

ex2)

/**
 여기에 작성되는 텍스트는 Summary 부분에 표기 된다.
 
 여기에 작성되는 텍스트는 Description 부분에 표기 된다.
 
 텍스트 간에 한 줄을 비워 놓으면 줄바꿈이 된다.
 
 '-', '+', '*'를 사용하여 원형 글머리 기호를 사용할 수 있습니다.
 
 - 이렇게
 + 이렇게
 * 이렇게
 
 글머리 기호 매기기
 
 1. 1번
 2. 2번
 6. 3번
 
 ---
 문단 바꿈
 
 바를 세 개 이상 사용하면 긴 줄로 문단을 나누어 준다.
 
 ___
 언더바 또는 별표를 사용하여 텍스트를 강조할 수 있다.
 
 텍스트를 기울이기  *기울여 줘*

 텍스트를 굵게 표시  **굵게 해줘**
 
 링크 넣기
 [SwiftBlog](https://velog.io/@qudgh849)
 
___
 등호를 사용하면 바로 위 텍스트를 큰 제목으로 표시. 텍스트 앞에 #을 하나 붙여줘도 동일한 효과
 
 큰제목
 ===
 
 바를 사용하면 바로 위 텍스트를 중간 크기 제목으로 표시해준다. 텍스트 앞에 ##을 두 개 붙여줘도 동일한 효과
 
 중간 크기 제목
 ----
 
 다른 텍스트보다 네 칸 이상 들여쓰기 하면 코드 블록을 만들어 준다. 또한 강세표(backquote, ` )를 세 개 이상 한 쌍으로 묶어도 코드 블록을 만들어 준다.
 
     //코멘트 가능
     let myName: String = "bh"
     let helloSwift(myName, yourAge: 100)

 
 Precondition, Postcondition, Requires, Invariant, Complexity, Important, Warning, Author, Authors, Copyright, Date, SeeAlso, Since, Version, Attention, Bug, Experiment, Note, Remark, ToDo 등의 키워드를 통해 적절한 정보를 제공할 수 있다.
 - note: 강조하고픈 메모를 노트로 남길 수 있다.
 - author: 작성자를 남길 수 있다.
 - warning: 주의해야 할 점
 
 ___
 >매개변수와 반환 값 등도 적절히 표기해줄 수 있다.
 - parameters:
      - yourName: 당신의 이름.
      - yourAge: 당신의 나이
 - Throws: 오류가 발생하면 HelloError의 한 케이스를 throw
 - returns: Hello String
*/
func helloSwift(yourName: String?, yourAge age: Int = 0) throws -> String{
    guard let name: String = yourName else{
        throw HelloError.noName
    }
    
    if age > 150{
        throw HelloError.incorrectAge(age: age)
    }
    
    return "Hello Swift!! My name is \(name)." + (age > 0 ? " I'm \(age) years old." : "")
}

func helloSwift(yourName: String?, yourAge age: Int = 0) throws -> String의 퀵헬프

4. 변수와 상수

변수는 생성 후 데이터 값을 변경할 수 있지만, 상수는 한번 값을 설정하면 다음에 변경할 수 없다.

1) 변수

var [변수명]: [데이터 타입] = [값]

ex) var name: String = "bh"

2) 상수

let [상수명]: [데이터 타입] = [값]

ex) let name: String = "bh"

profile
호박에 줄 그어서 수박 되는 성장 드라마

0개의 댓글