[iOS dev tutorial] มาเริ่มเขียนภาษา Swift กัน : ตอนหนึ่ง แนะนำตัวน้อง Swiftการแสดงผล และตัวแปร

programming Aug 25, 2014

ในส่วนนี้เจ้าของบล็อกออกตัวเลยว่า สนใจภาษานี้ แต่ไม่เคยเขียน Objective-C ถึงแม้จะก็อปเนื้อหาทั้งหมดใน iTune U แต่ก็ยังไม่มีเวลาอ่านและดูวิดีโอการสอนซะที มาตอนนี้มี Swift ที่เข้าใจง่ายกว่า Objective-C ด้วย เลยอยากศึกษา แล้วเอามาใช้บ้าง เนื่องจากความที่เป็น iOS development ในไทยค่อนข้างน้อยด้วย อยากเขียน mobile programming ได้ทุก iOS ด้วย เลยมาศึกษาภาษาใหม่นี้คะ

เมื่อวันที่ 3 มิถุนายน 2557 ทาง apple ได้เปิดตัวภาษา Swift อย่างเป็นทางการแล้ว ซึ่งจะรองรับฟีเจอร์ของภาษาโปรแกรมยุคใหม่ ซึ่งจะมาแทนที่ Objective-C ในไม่ช้า เนื่องจากมีประสิทธิภาพดีกว่า Objective-C ในทุกๆด้าน (เพื่อนเราที่เป็น iOS ยังบอกเลยว่า Objective-C กำลังจะตาย) โดยสามารถทำงานร่วมกับ Cocoa และ Objective-C ด้วย (ซึ่งใน iBook มีให้โหลดแล้วเช่นกัน ความหนาประมาณร้อยหน้ากว่าๆ)

 

สามารถโหลด The Swift Programming Language ได้ทาง iBook เพื่อนำไปศึกษาได้เลยจ้า มี update มาให้อย่างสมํ่าเสมอเลย ความหนาประมาณ 700 หน้ากว่าๆ ทาง apple ได้มีหน้าหลักของภาษา Swift ไว้ให้ developer ได้ศึกษากันด้วย (สำหรับคนที่ไม่มีอุปกรณ์ iOS หรือสะดวกอ่านในคอมมากกว่า เข้าไปที่หน้าเว็บได้เลยคะ เนื้อหาเดียวกันเลย) และมีหน้าเว็บหลักของภาษานี้ด้วยนะ

วันนี้เราอ่านภาษา Swift แล้ว 1 หน้านะคะ #ผิด

ภาษา Swift เป็นภาษาใหม่สำหรับการเขียน application ลง iOS และ OS X apple ได้มีการพัฒนามาในช่วงปี 2010 (หรือเมื่อ 4 ปีที่แล้ว) ข้อดีของ Swift คือ
– ง่าย : สั้น เข้าใจง่าย
– เร็ว : รันโค้ดหลายล้านบรรทัดในเวลาไม่กี่วินาที สามารถทำงานซับซ้อนได้
– ยืดหยุ่น : ใช้ได้ในทุกๆแขนง ทั้งด้านธุรกิจ วิศวกรรม วิทยาศาสตร์
– เป็น parallel programming : สามารถรันหลายๆโปรแกรมพร้อมกันได้
– ใหม่กว่า Objective-C
– safety กว่าในเรื่อง type, การเข้าถึง pointer และการจัดการ memory
ความเห็นส่วนตัวของเราต่อภาษานี้ หน้าตาจะคล้ายๆ JavaScript และ Python หน่อยๆนะ

มาดูเรื่อง syntax ของภาษานี้กันบ้าง

คำสั่งแรกที่เรียนมาเป็นพื้นฐาน คือ การแสดงผลออกหน้าจอ โดยการ print คือ

  • println("Hello, world!")

ไม่ต้องสร้าง function หรือ import อะไรเลย เหมือน python
หน้าตาคำสั่งคล้ายๆ System.out.println() ของ Java ซึ่งภาษานั้นกว่าจะ print ได้ ต้อง import library และสร้าง class หลักก่อน ซึ่งยุ่งยากน่าดูในช่วงแรก55 (สามารถดูการ print ของภาษาอื่นๆได้ที่นี่คะ)

การกำหนดตัวแปร ใช้ let สำหรับ constant ค่าคงที่ และใช้ var สำหรับ variable ตัวแปร เช่น

let pi = 3.14 //constant
var radius = 4 //variable

และตัว constant เราสามารถเปลี่ยนค่าได้ตามต้องการอยู่แล้ว

var radius = 6 //variable

ถ้าเราจะระบุ type ของตัวแปร เราใส่ : ไว้หลังชื่อตัวแปร เช่น

var radius:float = 4 //variable

เริ่มจะเห็นความง่ายอีกอย่างแล้ว คือ ไม่ใส่ ; เหมือนพี่เหลือมเลย
เราสามารถแปลง type ของตัวแปรได้ด้วย และการนำ String มาต่อกัน ใส่ + ไปได้เลยเหมือนของ python และ Java

  • let label = "The width is "
  • let width = 94
  • let widthLabel = label + String(width)

การ print ค่า variable หรือ constant ในภาษา C เราจะใช้ %<type_var> แล้วกำกับด้วยชื่อตัวแปรด้านหลัง หรือใน python จะใส่ชื่อของค่านั้นลงไปเลย แล้วใส่ + เพื่อต่อกับ String ใน Swift จะมี syntax ที่แปลกต่างชาวบ้าน คือ ใช้ (<var_name>) เช่น

  • let print_circum = "This cycle have radius (radius) cm. and circumference is (r2*pi*radius)."

การสร้าง array และ dictionary ใช้ [] เหมือนภาษาอื่นๆ โดย array สร้างและเรียกใช้เหมือนในภาษาอื่นๆ และ dictionary หลักการจะเหมือนใน python

  • var shoppingList = ["catfish", "water", "tulips", "blue paint"] //array building
  • shoppingList[1] = "bottle of water"

  • var occupations = [
  • "Malcolm": "Captain",
  • "Kaylee": "Mechanic",
  • ] //dictionary building
  • occupations["Jayne"] = "Public Relations" //input new value

การสร้าง array และ dictionary เปล่า ทำได้โดยไม่ต้องใส่อะไรเลยใน [] ดังนี้

var shoppingList = []
var occupations = [:]

และสร้างตัวแปรเปล่าที่เรากำหนด type ของตัวแปรได้ด้วย

  • let emptyArray = [String]()
  • let emptyDictionary = [String: Float]()

ตอนนี้ทุกๆท่านก็ได้ความรู้เบื้องต้นของภาษา Swift แล้วนะคะ ไม่ยากเลยเนอะ
ตอนต่อไปของ Swift จะเป็นเรื่องที่ซับซ้อนขึ้น คือ เรื่อง loop, condition, function และ class คะ

Tags

Minseo Chayabanjonglerd

Android Developer ผู้เป็นเจ้าของบล็อก MikkiPastel ที่ชอบทำหลายๆอย่างนอกจากเขียนแอพแอนดรอยด์ เช่น เขียนบล็อก เขียนแชทบอท เรียนออนไลน์ อ่านหนังสือ วาดรูปเล่น ดู netfilx สั่งอาหารอร่อยๆกัน เป็นต้น

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.