Swift

[Swift] var 와 let , method , 타입추론

응디 2022. 2. 10. 17:36

swift 변수와 상수

  1. valuable → var ( 변수 ): var value = 0
  2. : 나중에 수정이 자유롭게 가능한 변수에 사용
  3. constant → let ( 상수 ): let value = 0
  4. : 수정이 불가한 변수에 사용

💡 실무에서는 임의로 변경할 수 있기 때문에 let 사용을 권장한다.(수정이 필요한 부분은 나중에 var로 수정)

 

 

Int 와 UInt

  • UInt는 0와 양수만 표현할 수 있는 정수형 타입
  • Int는 음수와 양수를 모두 포함한 정수형 타입

 

method 작성

중복되는 코드가 존재 할 시 method로 뽑아낸다

함수 반환 타입은 → 으로 지정, 이때 method( 함수 )는 func 으로 선언

// 메소드 호출
refresh()

//파라미터가 있는 메소드 호출
hello(name : "박은지", time : 5)

//파라미터에 _ 존재하는 메소드 호출
hello2("박은지", time : 5)

//파라미터 기본값 지정
hello3("박은지")

//리턴값이 있는 메소드
var myName = hello4("박은지")

//함수 안에 함수 정의 메소드
let hello = mainHello(msg : "님 안녕하세요!")
subHello("박은지")

//파라미터가 여러개
sum(1,2)
sum(1,2,3)

//-------------------------------------------------------------------------------

// 중복되는 코드 메소드로 묶기
func refresh(){
	let randomPrice = arc4random_uniform(10000) + 1
	currentValue = Int(randomPrice)
	priceLAbel.text = "\(currentValue)원"
}


//파라미터가 있는 메소드
func hello(name : String ,time : Int){
	for _ in 0..<time {
		print(name)		
	}

}


//파라미터 이름 _ 존재 여부
//파라미터 이름을 _로 정의하면 호출 할 때 파라미터 이름 생략 가능
func hello2(_name : String , time : Int){
	//...
}

//파라미터에 기본값 지정 ( 지정된 파라미터는 함수 호출 시 생략 가능 )
func hello3(_name : String, time: Int = 1){
	//...
}


//리턴값이 있는 메소드
func hello4(name : String) -> String{
	return "\(name)님 안녕하세요!"
}


//함수 안에 정의한 함수를 반환
func mainHello(msg: String ) -> (String) -> String { //문자열을 받아서 문자열을 반환
	func subHello(name: String) -> String {
		return name + msg
	}

	return subHello
}


//파라미터가 여러개인 메소드 (갯수가 정해지지 않음)
func sum(_nums : Int...) -> Int{
	var sum = 0
	for num in nums {
		sum += num
	}

	return sum
}

 

 

타입추론

swift에서 제공하는 강력한 기능: 사용하는 변수들 마다 데이터 타입을 적어주는 것도 가능

타입을 굳이 선언하지 않아도 option 키를 누르고 마우스로 클릭 하면 타입을 보여준다.

var num : Int = 0 // 타입을 적어주는 예

var num = 0 // option키 누르고 마우스 올리면 타입 확인 가능

 

 

배열과 딕셔너리

배열과 딕셔너리는 모두 [ ] 를 이용해서 정의 할 수 있다.

상수와 마찬가지로 let 으로 선언하면 수정 불가

//배열
var language = ["Swift", "Python", "Java"]

//딕셔너리
var capitals = [
	"한국" : "서울"
	"일본" : "도쿄"
]

//타입 선언 배열
var language: [String] = ["Swift", "Python", "Java"]

//타입 선언 딕셔너리
var capitals: [String: String] = [
	"한국" : "서울"
	"일본" : "도쿄"
]

//빈 배열
var language: [String] = []
var language = [String]()

//빈 딕셔너리
var capitals: [String: String] = [:]
var capitals = [String: String]()

'Swift' 카테고리의 다른 글

[Swift] 조건문과 반복문, Optional  (0) 2022.02.10
[Swift] 로딩페이지 띄우기, pageViewController  (0) 2021.03.25
[Swift] Object와 문자열  (0) 2021.03.25
[Swift] Alert 띄우기  (0) 2021.03.25
[Swift] ViewController와 button Event  (0) 2021.03.25