수색…


비고

스위프트 로고

Swift 는 Apple에서 개발하여 오픈 소스로 배포 한 응용 프로그램 및 시스템 프로그래밍 언어입니다. Swift는 Apple의 macOS, iOS, tvOS 및 watchOS 운영 체제 용 Objective-C 및 Cocoa / Cocoa 터치 API와 상호 운용됩니다. 스위프트는 현재 macOS와 Linux를 지원합니다. Android, Windows 및 기타 플랫폼을 지원하기위한 커뮤니티 노력이 진행 중입니다.

빠른 개발 은 GitHub에서 발생 합니다 . 기부는 일반적으로 끌어 오기 요청을 통해 제출됩니다.

버그 및 기타 문제는 bugs.swift.org 에서 추적됩니다.

Swift 개발, 진화 및 사용에 대한 토론은 Swift 메일 링리스트 에서 개최됩니다.

기타 리소스

버전

스위프트 버전 Xcode 버전 출시일
개발이 시작되었습니다 ( 첫 번째 커밋 ). - 2010-07-17
1.0 Xcode 6 2014-06-02
1.1 Xcode 6.1 2014-10-16
1.2 Xcode 6.3 2015-02-09
2.0 Xcode 7 2015-06-08
2.1 Xcode 7.1 2015-09-23
오픈 소스 데뷔 - 2015-12-03
2.2 Xcode 7.3 2016-03-21
2.3 Xcode 8 2016-09-13
3.0 Xcode 8 2016-09-13
3.1 Xcode 8.3 2017-03-27

첫 번째 Swift 프로그램

hello.swift 라는 파일에 코드를 작성하십시오.

print("Hello, world!")
  • 한 단계에서 스크립트를 컴파일하고 실행하려면 터미널에서 swift 를 사용하십시오 (이 파일이있는 디렉토리에서).

터미널을 시작하려면 Linux 에서 CTRL + ALT + T 를 누르거나 macOS의 Launchpad에서 찾으십시오. 디렉토리를 변경하려면 cd directory_name (또는 cd .. 로 돌아가십시오)을 입력하십시오 cd ..

$ swift hello.swift
Hello, world!

컴파일러 는 프로그래밍 언어 (원본 언어)로 작성된 소스 코드를 다른 컴퓨터 언어 (대상 언어)로 변환하는 컴퓨터 프로그램 (또는 프로그램 집합)이며, 후자는 종종 개체 코드로 알려진 이진 형식을 사용합니다. ( 위키피디아 )

  • 별도로 컴파일하고 실행하려면 swiftc 사용 swiftc .
$ swiftc hello.swift

이렇게하면 코드가 hello 파일로 컴파일됩니다. 실행하려면 ./ 입력하고 파일 이름을 입력하십시오.

$ ./hello
Hello, world!
  • 또는 명령 줄에서 swift 를 입력하고 인터프리터에 코드를 입력하여 신속한 REPL (Read-Eval-Print-Loop)을 사용하십시오.

암호:

func greet(name: String, surname: String) {
    print("Greetings \(name) \(surname)")
}

let myName = "Homer"
let mySurname = "Simpson"

greet(name: myName, surname: mySurname)

이 큰 코드를 조각으로 분해 해 봅시다.

  • func greet(name: String, surname: String) { // function body } - namesurname 사용하는 함수 를 만듭니다.

  • print("Greetings \(name) \(surname)") - 콘솔에 "인사말"을 인쇄 한 다음 name 을 입력하고 surname 합니다. 기본적으로 \( variable_name ) 은 해당 변수의 값을 출력합니다.

  • let myName = "Homer" 하고 let mySurname = "Simpson" - myName , mySurname 및 values ​​: "Homer" , "Simpson" 과 같이 let 을 사용하여 상수 (변경할 수없는 변수)를 만듭니다.

  • greet(name: myName, surname: mySurname) 우리는 상수의 값을 공급 이전에 만든 함수 호출 - myName , mySurname .

REPL을 사용하여 실행 :

$  swift
Welcome to Apple Swift. Type :help for assistance.
  1> func greet(name: String, surname: String) { 
  2.     print("Greetings \(name) \(surname)") 
  3. } 
  4>  
  5> let myName = "Homer"
myName: String = "Homer"
  6> let mySurname = "Simpson"
mySurname: String = "Simpson"
  7> greet(name: myName, surname: mySurname)
Greetings Homer Simpson
  8> ^D

REPL에서 종료하려면 Ctrl + D 를 누릅니다.

스위프트 설치하기

먼저 컴파일러와 구성 요소를 다운로드 합니다.

다음으로 경로에 Swift를 추가하십시오. macOS에서 다운로드 가능한 툴체인의 기본 위치는 / Library / Developer / Toolchains입니다. 터미널에서 다음 명령을 실행하십시오.

export PATH=/Library/Developer/Toolchains/swift-latest.xctoolchain/usr/bin:"${PATH}"

Linux에서는 clang을 설치해야합니다.

$ sudo apt-get install clang

Swift 도구 체인을 시스템 루트가 아닌 다른 디렉토리에 설치 한 경우 Swift 설치의 실제 경로를 사용하여 다음 명령을 실행해야합니다.

$ export PATH=/path/to/Swift/usr/bin:"${PATH}"

다음 명령을 실행하여 현재 버전의 Swift를 확인할 수 있습니다.

$ swift --version

Mac에서 Swift의 첫 번째 프로그램 (놀이터 사용)

Mac 에서이 링크 를 따라 Mac App Store에서 Xcode를 다운로드하여 설치 하십시오 .

설치가 완료되면 Xcode를 열고 Playground로 시작하기를 선택 하십시오 .

여기에 이미지 설명을 입력하십시오.

다음 패널에서 놀이터 이름을 지정하거나 MyPlayground 그대로두고 다음을 누를 수 있습니다.

여기에 이미지 설명을 입력하십시오.

놀이터를 저장할 위치를 선택하고 만들기를 누릅니다.

여기에 이미지 설명을 입력하십시오.

놀이터가 열리고 화면은 다음과 같이 보일 것입니다 :

여기에 이미지 설명을 입력하십시오.

놀이터가 화면에 표시 되었으므로 ⇧ + cmd + Y 를 눌러 디버그 영역 을 표시하십시오.

마지막으로 놀이터에서 텍스트를 삭제하고 다음을 입력합니다.

print("Hello world")

디버그 영역 에서는 'Hello world'가 표시되고, 사이드 바에 는 'Hello world \ n'이 표시됩니다.

여기에 이미지 설명을 입력하십시오.

축하해! Swift에서 첫 번째 프로그램을 만들었습니다!

iPad의 Swift Playgrounds 앱의 첫 프로그램

Swift Playgrounds 앱은 이동 중에도 Swift 코딩을 시작할 수있는 좋은 방법입니다. 그것을 사용하려면 :

1- App Store에서 iPad 용 Swift Playgrounds 다운로드.

여기에 이미지 설명을 입력하십시오.

2 - 응용 프로그램을 엽니 다.

3 - 내 운동장 탭에서 왼쪽 상단의 + 를 탭한 다음 빈 템플릿을 선택합니다.

4- 코드를 입력하십시오.

5 내 코드 실행을 눌러 코드를 실행합니다.

6- 각 줄의 앞면에 결과가 작은 사각형에 저장됩니다. 결과를 나타 내기 위해 탭하십시오.

7 - 코드를 천천히 실행하여 코드를 추적하려면 내 코드 실행 옆에있는 버튼을 누릅니다.

선택적 값 및 선택적 enum

값의 부재를 처리하는 선택적 유형입니다. 선택사는 "값이 있고 x와 같거나" "전혀 가치가 없다"라고 말합니다.

선택 사항은 실제로는 Swift의 새로운 슈퍼 파워 기반 열거 형 중 하나입니다. 여기에는 NoneSome(T) 두 가지 값이 있습니다. 여기서 T는 Swift에서 사용 가능한 올바른 데이터 유형의 관련 값입니다.

예를 들어이 코드 조각을 살펴 보겠습니다.

let x: String? = "Hello World"

if let y = x {
   print(y)
}

실제로 위의 코드에서 print(x.dynamicType) 문을 추가하면 콘솔에 다음과 같이 표시됩니다.

Optional<String>

끈? 는 선택적으로 구문 론적으로 설탕이며 선택적은 그 자체로 유형입니다.

Xcode의 코드에서 Optional이라는 단어를 command- 클릭하여 볼 수있는 Optional의 헤더를 단순화 한 버전입니다 :

enum Optional<Wrapped> {

 /// The absence of a value.
 case none

 /// The presence of a value, stored as `Wrapped`.
 case some(Wrapped)
}

선택 사항은 실제로 열거 형이며 일반 유형의 래핑과 관련하여 정의됩니다. 두 개의 케이스를 가지고 .none 값이 없음을 나타내고,하기 .some 래핑 된 형태의 결합 된 값으로 저장되어있는 값의 존재를 나타 내기 위해.

내가 다시 그것을지나 가게해라. String? String 아니라 Optional<String> 입니다. Optional 이 유형이라는 사실은 자체 메서드 (예 : mapflatMap 가 있음을 의미합니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow