swift 학습 노트 중 하나--swift 처음 보기
1.단순 값(값 형식 과 자바 의 유형 대상:String,Double,Float,Int(Integer)...)은 두 개의 유용 한 집합 형식 인 Array 와 Dictionary let 성명 상수,var 성명 변 수 를 추가 하 였 습 니 다.(상수 값 은 한 번 만 할당 할 수 있 습 니 다.예 를 들 어 원주 율 pi=3.14 는 상수 입 니 다.원주 율:let PI=3.14)을 설명 합 니 다.
let 와 var 가 설명 한 값 은 명시 적 으로 지정 한 값 의 유형 을 사용 하지 않 고 컴 파일 러 는 컴 파일 할 때 값 의 특징 에 따라 지정 한 형식 값 을 추정 합 니 다.
물론 let a:Double=70 var b:Float=4 와 같은 명시 적 으로 지정 할 수 있 습 니 다.
값 은 다른 형식 으로 암시 적 으로 변환 되 지 않 습 니 다.다른 형식 으로 변환 하려 면 let label="the width is"let width=95 let widthlabel=label+String(width)
()괄호 안에 있 는 값 을 문자열 로 변환 할 수 있 습 니 다.따옴표 에 사용 할 수 있 습 니 다.playground 에 var a:String="(3+5)"+String(6)을 입력 하면 86 을 출력 합 니 다.
배열 과 사전 의 정의:
var array = ["a","b"]
var dict = ["a":1,"b":2]
dict["c"] = 3 //
var array = String[]() var dict = Dictionary<String, T>
api
2.흐름 제어 if,switch 조건 제어,for-in,for,while,do-while 순환 제어 if
let scores = [75,43,103,87,12]
var teamScore = 0
for score in scores {
if score > 50 {
teamScore += 3
} else {
teamScore += 1
}
}
switch swift 의 switch 조건 은 자바 와 달리 swift 는 값 을 제한 하지 않 습 니 다.그 다음은 swift 의 switch 운행 이 일치 하 는 경우 종료 되 며,자바 는 수 동 으로 break 를 사용 하여 종료 해 야 합 니 다.
let vegetable = "red pepper"
switch vegetable {
case "celery":
let vegetableComment = "Add some raisins"
case "cucumber", "watercress"
let vegetableComment = "That would make a good tea sandwich."
case let x where x.hasSuffix("papper"):
let vegetableComment = "Is it a spicy \(x)?"
default:
let vegetableComment = "Everything tastes good in soup."
}
데이터 사전(dictionary)순환 에 대해 swift 를 옮 겨 다 니 는 특별한 처리 방식 을 제공 합 니 다:for 뒤에 key-value 대신 값 을 사용 합 니 다.
let dict = ["Prime":[2,3,5,7,11,13],"Fibonacci":[1,1,2,3,5,8],"Square":[1,4,9,16,25]]
var largest = 0
for (kind, numbers) in dict {
for number in numbers {
largest = number
}
}
largest// 25
while 와 do-while 순환 은 기본적으로 자바 의 while 와 do-while 와 유사 합 니 다.조건 swift 를 제외 하고 괄호 가 필요 하지 않 습 니 다.자바 는 괄호 for 순환 을 사용 해 야 합 니 다.세 가지 표기 법 이 있 습 니 다.1>for i in array 2>for i in 0.10 3>for i=0;i < 10; ++i(약간 Oracle 같은 for.in.loop)
주:연산 자 와 앞 뒤 에 빈 칸 이 있어 야 합 니 다.그렇지 않 으 면 컴 파일 이 통과 되 지 않 습 니 다.
3.함수 와 패키지 swift 의 함 수 는 func 성명 을 사용 하고"->"성명 함수 의 반환 값 유형 을 사용 합 니 다.이 점 은 문법 적 으로 자바 의 방법 과 많은 차이 가 있 습 니 다.쉽게 이해 할 수 있 습 니 다.그리고 더 특별한 점 이 있 습 니 다.swift 의 함 수 는 한 그룹의 값 을 되 돌 릴 수 있 습 니 다.예 를 들 어:
func getGasPrices() -> (Double, Double, Double) {
return (3.0, 4.0, 5.0)
}
getGasPrices()
swift 의 함수 매개 변 수 는 자바 의 방법 매개 변수 와 마찬가지 로 사용 할 수 있 습 니 다.이 함수 에 여러 개의 매개 변수 가 있 음 을 표시 합 니 다.(몇 개의 매개 변 수 는 함수 에서 배열 로 처리 합 니 다)
func sumOf(numbers: Int...) -> Int {
var sum = 0
for number in numbers {
sum += number
}
}
내장 함수(함수 내 에서 설명 하 는 함 수 는 내장 함수),내장 함 수 는 내장 함수 의 변 수 를 방문 할 수 있 습 니 다.
func returnFifteen() -> Int {
var y = 10
func add() { //
y += 5
}
add()
return y
}
함 수 는 아주 좋 은 유형 입 니 다.이것 은 함수 가 다른 함수 의 반환 값 으로 할 수 있다 는 것 을 의미 합 니 다.
func makeIncrementr() -> (Int -> Int) {
func addOne(number: Int) -> Int {
return 1 + number
}
return addOne
}
var increment = makeIncrementer()
increment(7)
동 리 함수 도 다른 함수 의 매개 변수 로 할 수 있다.
fucn hasAnyMatches(list: Int[], condition: Int-> Bool) -> Bool {
for item in list {
if condition(item) {
return true
}
}
return false
}
func lessThanTen(number: Int) -> Bool {
return number < 10
}
var numbers = [20,19,7,12]
hasAnyMatches(numbers, lessThanTen)
함 수 는 특사 의 패 킷 입 니 다.다음 예 는 함수 로 numbers 에 패 킷 을 닫 는 항목 당*3 배 입 니 다.
numbers.map({
(number:Int) -> Int in
let result = 3 * number
return result
})
패 킷 을 닫 는 형식 이 알려 져 있 으 면 인자 의 유형 이나 값 을 되 돌려 주 는 형식 을 숨 길 수 있 습 니 다.
numbers.map({
number in 3 * number }) //
매개 변수의 아래 표 시 된 값 을 매개 변수의 이름 으로 대체 하여 매개 변수 에 값 을 부여 할 수 있 습 니 다.패 키 지 를 마지막 매개 변수 로 함수 에 전달 할 때 괄호 뒤에 직접 따라 갈 수 있 습 니 다.
sort([1,5,3,12,2]){ $0 > $1 } // 12,5,3,2,1
sort([1,5,3,12,2]){ $0 < $1 } // 1,2,3,5,12
4.대상 과 클래스 대상 과 클래스 의 개념 은 자바 와 같 지만 사용 방식 은 큰 차이 가 있 습 니 다.자바 는 new 예화 대상 을 사용 하고 swift 는 함수 와 유사 한 방식 으로 예화 대상 을 호출 합 니 다.예 를 들 어 빈 문자열 을 만 듭 니 다.
java:
String javaStr = new String();
swift:
var swiftString = String()
swift 클래스 의 초기 화 함 수 는 init 입 니 다.
class Shape {
var type = String()
init(type:String) {
self.type = type
}
}
그리고 다른 곳 n 다 차이,나중에 천천히 발견
struct 와 class 의 차이 점:struct 는 class 의 여러 가지 특징 을 지원 하고 포함 할 수 있 습 니 다.유일한 차이 점 은 struct 는 전송 값 이 고 class 는 전송 참조 입 니 다.
첨부,중국어
PS:vmware mac os 에서 xcode 6 가 자꾸 무 너 져 서 정식 버 전이 빨리 나 오 기 를 기대 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.