CH02. 스위프트 처음시작하기 ( 명명규칙, 콘솔로그, 주석, 변수, 상수)

AhnZ·2022년 6월 18일
0
post-thumbnail

1. 기본 명명규칙


1-1. 유니코드 어떤문자로든 사용가능

예외

  • 예약어, 키워드
    ex ) func, class, var, let
  • 기존 사용되고있는 이름과 동일한 이름
  • 연산자
    ex) +, -, *, /
  • 숫자
  • 공백

1-2. 카멜케이스

여러단어가 묶여진 단어의 첫글자를 대문자로 시작한다.

  • lowerCamelCase

    단어의 첫 시작을 소문자 로 한다.
    ex) 함수, 메서드, 인스턴스

//함수 
func lowerCamelCase(){
	print("함수는 소문자 카멜케이스")
    }
  • UpperCamelCase

    단어의 첫 시작을 대문자 로 한다.
    ex) 구조체, 클래스, 열거형, 프로토콜, 익스텐션

class UpperCamelCase{
var upCamel : Int = 1 
}

1-3. 세미콜론( ; )을 사용하지 않는다


1-4.대문자구문 : var와 Var는 다르다.


var test :String = "" 

Var testTwo : String = "" // 컴파일오류 발생 



2.콘솔로그

2-1. print()

  • 괄호 안의 내용출력
  • 줄바꿈 ( \n )이 자동삽입 되어있다.

2-2. dump()

print()보다 더 자세한 내용을 다룬다.

  • 예시
class Test{
    var testInt : Int = 1
    var testValue :String = "테스트입니다."
}
var instance : Test = Test()
print(instance)
dump(instance)
  • 결과


2-3. 문자열보관

문자열 내에서 변수 or 상수를 사용하고 싶을 때
'/(변수 or 상수이름)' 을 사용하여 문자열로 치환해서 넣는다.

var name : String = "Swift"
var intTest : Int = 2
print("우리는\(name)공부 \(intTest)주차 입니다.")
//우리는 Swift공부 2주차 입니다. 



3. 주석

코드 정보를 남기는 목적으로 사용

한줄주석 : 슬래쉬 두개


// 

여러줄 주석 : 슬래쉬와 별표



/* 
내용
*/

중첩주석 : 주석안의 주석


/*
//한줄 주석 
/* 여러줄 주석을
동시에
사용 할 수 있습니다. 
*/



4. 변수

생성 후 데이터 값 변경 가능
var 키워드 사용

var mutableValue : Int = 100
// Int 타입 값 100을 갖는 변수 선언

4.1 데이터타입 생략

컴파일러가 변수값의 타입을 추론하여 타입을 지정

  • 단점
1. 오류 발생 시 
오류를 찾아내는 것이 초기부터 데이터타입을 명시한것보다 오래 걸릴 수 있다. 
2. 컴파일 시간이 오래걸린다. 

  • 예시
var name : String = "jihoon" 
var omitedName = "omit jihoon" 
omitedName = "changed"
print(omitedname) // changed




5. 상수

데이터 값을 변경 할 수 없다.

  • 선언
let immutableValue : Int = 3 
/// Int 타입값 3을 같는 상수 
immutableValue = 4 // 컴파일오류 // 변경불가

5.1 상수 사용 이유

  • 가독성

    값의 변화가 없다는 것을 주석 or API문서 등을 살필 필요없이 직관적으로 알 수 있다.

  • 사용 예시
    수용 최대인원인 100명을 나타 낼 때
    최대 값을 나타내는 maxNum
let maxNum : Int = 100 // 상수 
var people : Int = 120 // 변수 

if ( people > maxNum ) { // 현재인원(people)이 최대인원
	print("최대인원을 초과하였습니다.")
} // 최대인원을 초과하였습니다. 


  • 조건문 if는 나중에 다시 정리하겠습니다.
profile
#Swift

0개의 댓글