import UIKit
// 변수타입
let constant = 100// 상수 => 자바스크립트에서는 변수이므로 헷갈리지 말자
var variable = 100// 변수
// 데이터 타입
var number1: Int = 100 // 부호 포함 정수
var number2: UInt = 100 // 부호 없는 정수 ex -100은 안됨
var number3: Float = 1.1 // 32bit 부동 소수점
var number4: Double = 1.2 // 64bit 부동 소수점
var isNumber: Bool = true
var munja: Character = "a" // length 가 1인 "문자" 만 가능 (문자열 안됨)
var munjaYoel: String = "안녕하세요" // 문자열
var anything: Any = "아무거나" // swfit 에서 문자는 "" ( double quote ) 만 가능! single quote 는 에러!
// 컬렉션 타입
// 1. Array => 순서 있음
var numbers: Array<Int> = Array<Int>() // 기본 정석 생성 방식
numbers.append(1)
numbers.append(2)
numbers.append(3)
numbers[0] // indexing
numbers[1]
numbers.insert(4, at: 3) // at 도 index 임
numbers.remove(at: 1)
numbers
var names: [String] = [] // 이렇게 해도 됨
//2. Dictionary => key: value
var dic1: Dictionary<String, Int> = Dictionary<String, Int>()
var dic: [String: Int] = ["아무개":1] // {} 이 아님!
dic["홍길동"] = 2
dic["홍길동"] = 99 // 홍길동 값이 변경
dic.removeValue(forKey: "아무개")
dic
// 3. Set => 순서가 없음 => 데이터 중복 허용X
// set의 결과값이 {} 로 나온다! 자바스크립트랑 헷갈린다!
var set: Set = Set<Int>() // set 은 따로 축약형이 없다
set.insert(10)
set.insert(20)
set.insert(30)
set.insert(20) // 안들어감
set
set.remove(20)
set
// 4. 함수
/*
func 함수명(파라미터명: 데이터 타입) -> 리턴 타입 {
return 리턴 값
}
*/
func sum(a:Int, b:Int) -> Int{
return a+b
}
sum(a:5, b:6) // 함수 생성 때 선언한 파라미터명을 함수를 사용할 때도 선언해줘야함
func sayHello() -> String{
return "hello"
}
sayHello()
// 반환값이 없으면 리턴 타입을 void 로 선언 (생략 가능)
func printName() {
}
/*
1. 파라미터에 기본값을 입력해 놓으면 파라미터를 입력하지 않았을 때 기본값으로 호출 ( not required )
2. "" 안에 변수 값을 넣고 싶으면 "\(varibale)"
*/
func greeting(friend: String, me:String = "홍길동"){
print("Hello, \(friend)!, I'm \(me)")
}
greeting(friend: "임꺽정")
greeting(friend: "임꺽정", me:"아무개")
/*
func 함수명(전달인자 레이블: 매개변수 이름: 매개변수 타입, 전달인자 레이블: 매개변수 이름: 매개변수 타입 ...) -> 리턴 타입 {
return 리턴 값
}
*/
func sendMessage(from myName:String, to name:String) -> String {
return "Hello, \(name)! I'm \(myName)"
}
sendMessage(from: "Gunter", to: "Jason")
// 와일드카드 식별자 사용
func sendMessage2(_ name:String) -> String {
return "Hello, \(name)!"
}
sendMessage2("누구세요")
/*
매개변수가 몇 개 들어올지 모를 때 가변 매개변수 사용.
Array 형태로 return
함수당 가변 매개변수는 1개.
*/
func sendMessage3(me:String, friends: String...) -> String {
return "Hello, \(friends)!, I'm \(me)"
}
sendMessage3(me:"Gunter", friends: "Jason","Albert","Stella")
반응형
'ios > swift' 카테고리의 다른 글
[swift] 기본문법(6) (0) | 2021.11.09 |
---|---|
[swift] 기본문법(5) (0) | 2021.11.08 |
[swift] 기본문법(4) (0) | 2021.11.07 |
[swift] 기본문법(3) (0) | 2021.11.06 |
[swift] 기본문법(2) (0) | 2021.11.06 |