:: Kunagorn Sirikup :: C# Developer

3/6/57

รีวิว Swift ภาษาใหม่จาก Apple

9439-1111-Screen-Shot-2014-06-02-at-24709-PM-l


Swift เป็นภาษาที่ Apple ได้พัฒนาขึ้นมาใหม่เพื่อรองรับการพัฒนาแอพบน iOS และ OS X ซึ่ง Swift ก็มีรูปแบบไม่แตกต่างจากการการเขียนด้วยภาษา C และ Objective-C แต่สิ่งที่เป็นข้อแตกต่างก็คือ Apple บอกว่า Swift เป็นภาษาทีเข้าใจง่าย รวมถึงมี Syntax ที่ไม่ซับซ้อน

Apple ให้คำจำกัดความ Swift ว่าเป็นภาษาที่มีความปลอดภัย รวมถึงมีการรวมฟังก์ชั่นใหม่ๆที่ทำให้การเขียน Code ง่ายขึ้น มีความยิดหยุ่นสูง และสนุกมากขึ้น (จริงๆอันหลังไม่น่าจะจริงนะครับ 55+) โดยใช้ Compiler, Debugger และ Framework เดิม รวมถึงมีการจัดการหน่วยหน่วยความจำให้ทำงานง่ายและมีประสิทธิภาพดีขึ้นโดยใช้ Automatic Reference Counting (ARC)

ที่นี้เรามาลองดูส่วนที่ข้อดีของ Swift กันนะครับว่ามีอะไรบ้าง
1. ไม่ต้องการมีการ Import Library เข้ามาเพื่อเรียกใช้งานฟังก์ชั่นต่างๆ ดังนั้น Swift จึงสามารถเขียนใช้ Code เพียงแค่บรรทัดเดียวก็ทำงานได้ เช่น การเขียน "Hello World"

  • println("Hello, world")

2. การ Code ที่เขียนที่จุดเริ่มการทำงานจะถูกมองเป็น Global Scope ดังนั้นจึงไม่จำเป็นต้องเขียน Code อยู่ใน Main Function

3.ไม่ต้องใส่ ; (semi colon) เพื่อบอกว่าจบการเขียน Code แต่ละบรรทัด

4. การประกาศค่าคงที่ (Constant) ใช้คำว่า let และใช้คำว่า var ประกาศตัวแปร การประกาศค่าคงที่ ไม่จำเป็นต้องกำหนดค่า ในขณะที่ Compile แต่ต้องมีการกำหนดค่า นั้นหมายความว่าเราสามารถกำหนด Constant แค่ครั้งเดียวแต่สามารถใช้ได้หลายที่

  • var myVariable = 42
  • myVariable = 50
  • let myConstant = 42


ค่าคงที่หรือตัวแปรจะมีประเภทข้อมูลเหมือนกับค่าที่กำหนดลงไป เพราะ Complier จะดูจากค่าที่กำหนดลงไปเพื่อสร้างประเภทข้อมูลเอง แต่ในกรณีที่เราต้องการที่จะกำหนดประเภทตัวแปรเองก็สามารถทำได้โดยใส่ : (Collon)

ตัวอย่าง Implicit Type

  • let implicitInteger = 70
  • let implicitDouble = 70.0

ตัวอย่าง Explicit Type

  • let explicitDouble: Double = 70


5. การรวมค่าใน String จะถูกเขียนค่าในวงเล็บและเขียนทับขวา (\) ก่อนวงเล็บ ตัวอย่างเช่น 

  • let firstname = "Kunagorn"
  • let lastname = "Sirikupt"
  • let appleSummary = "My first name is \(firstname ) ."
  • let fruitSummary = "My full name is \(firstname + lastname ) ."

6. การสร้าง Array และ Dictionaries จะใช้เครื่องหมาย brackets ([]) โดยสามารถเข้าถึง elements ต่างๆได้โดยการระบุ Index หรือ Key 

  • var shoppingList = ["catfish", "water", "tulips", "blue paint"]
  • shoppingList[1] = "bottle of water"
  • var occupations = [
  • "Malcolm": "Captain",
  • "Kaylee": "Mechanic",
  • ]
  • occupations["Jayne"] = "Public Relations"

ตัวอย่าง การประกาศ  Array และ Dictionaries ว่าง ดังนี้

  • let emptyArray = String[]()
  • let emptyDictionary = Dictionary<String, Float>()

7. Control Flow - ใช้คำสั่ง if และ switch ในการควบคุมเงื่อนไขการทำงานต่างๆ ส่วนการวนลูปใช้ for-in, for, while, and do-while โดยไม่จำเป็นใส่วงเล็บเมื่อกำหนดเงื่อนไขต่างๆ แต่ต้องใส่วงเล็บปีกกาเพื่อกำหนดขอบเขตของการทำงาน

  • let individualScores = [75, 43, 103, 87, 12]
  • var teamScore = 0
  • for score in individualScores {
  • if score > 50 {
  • teamScore += 3
  • } else {
  • teamScore += 1
  • }
  • }
  • teamScore


8. Functions and Closures - สามารถสร้างฟังก์ชั่นเพื่อ return ค่าออกมาได้

  • func greet(name: String, day: String) -> String {
  • return "Hello \(name), today is \(day)."
  • }
  • greet("Bob", "Tuesday")

9. Objects and Classes - สามารถสร้าง Class เพื่อเรียกใช้งานได้ การประกาศ Properties สามารถทำได้เหมือนกับการประกาศค่าคงที่และตัวแปร

  • class Shape {
  • var numberOfSides = 0
  • func simpleDescription() -> String {
  • return "A shape with \(numberOfSides) sides."
  • }
  • }

เมื่อสร้าง Class เสร็จแล้ว เราสามารถสร้าง Instance ให้กับ Class ได้ และสามารถใช้งาน Properties หรือ Method นั้นได้โดยใช้ . (dot)

  • var shape = Shape()
  • shape.numberOfSides = 7
  • var shapeDescription = shape.simpleDescription()

10. Enumerations and Structures - สามารถใช้ enum เพื่อสร้าง enumeration เหมือนกับการสร้าง Class และสามารถสร้าง Method ที่เกี่ยวข้องได้

  • enum Rank: Int {
  • case Ace = 1
  • case Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten
  • case Jack, Queen, King
  • func simpleDescription() -> String {
  • switch self {
  • case .Ace:
  • return "ace"
  • case .Jack:
  • return "jack"
  • case .Queen:
  • return "queen"
  • case .King:
  • return "king"
  • default:
  • return String(self.toRaw())
  • }
  • }
  • }
  • let ace = Rank.Ace
  • let aceRawValue = ace.toRaw()


นี่ก็เป็นตัวอย่างเล็กๆน้อยสำหรับการเขียน Swift ซึ่งในความคิดผมคิดว่าคงมีประโยชน์มากทีเดียวกับผู้มือใหม่ที่ต้องการเขียน iOS เพราะ Code สามารถเข้าใจได้ง่าย ไม่ซับซ้อน รวมถึงมี Library ต่างไว้ให้งานมากมาย รวมถึงคนที่เขียน iOS อยู่แล้ว รวมถึงก็สามารถพัฒนาต่อได้ง่ายเพราะ Swift มีรูปแบบไม่แตกต่างจากการการเขียนด้วยภาษา C และ Objective-C 

credit : https://developer.apple.com 

ไม่มีความคิดเห็น:

แสดงความคิดเห็น