การดู : 0

12/04/2026 18:15น.

JS2GO EP.6 ฟังก์ชันใน JavaScript และ Go: ความแตกต่างใน Syntax และวิธีการใช้งาน

JS2GO EP.6 ฟังก์ชันใน JavaScript และ Go: ความแตกต่างใน Syntax และวิธีการใช้งาน

#JavaScript

#Go

#ฟังก์ชัน

#JavaScript กับ Go

#ความแตกต่างของ Go และ JavaScript

ฟังก์ชันเป็นส่วนสำคัญของการพัฒนาโปรแกรมที่ทำให้โค้ดสามารถทำงานซ้ำ ๆ ได้อย่างมีประสิทธิภาพ และทั้ง JavaScript และ Go ต่างมีวิธีการประกาศและใช้งานฟังก์ชันที่แตกต่างกันอย่างชัดเจน บทความนี้จะพาคุณไปเปรียบเทียบ Syntax และ วิธีการใช้งานฟังก์ชัน ใน JavaScript และ Go พร้อมทั้งตัวอย่างโค้ดจริงที่จะช่วยให้คุณเข้าใจฟังก์ชันในแต่ละภาษาได้ง่ายขึ้น

 

การประกาศฟังก์ชันใน JavaScript และ Go

JavaScript:

ใน JavaScript ฟังก์ชันสามารถประกาศได้หลายวิธี โดยมีรูปแบบหลัก ๆ คือ:

  1. การใช้ function keyword
  2. ฟังก์ชันแบบ Arrow Functions

ตัวอย่างการประกาศฟังก์ชันใน JavaScript:

// การประกาศฟังก์ชันแบบปกติ
function greet(name) {
    return "Hello " + name;
}

// ฟังก์ชันแบบ Arrow Function
const greet = (name) => "Hello " + name;

คำอธิบาย:

  • ฟังก์ชันแบบปกติ (function declaration): สามารถประกาศชื่อฟังก์ชันและรับพารามิเตอร์
  • Arrow Function: เป็นฟังก์ชันที่สั้นลงโดยใช้ => ซึ่งเหมาะสำหรับฟังก์ชันที่ไม่ซับซ้อนและมักใช้ในฟังก์ชันที่ทำงานเพียงบรรทัดเดียว

Go:

ใน Go, การประกาศฟังก์ชันจะใช้ func keyword ซึ่งต้องระบุทั้งพารามิเตอร์และประเภทของค่าผลลัพธ์ที่ฟังก์ชันจะคืนกลับ

ตัวอย่างการประกาศฟังก์ชันใน Go:

// การประกาศฟังก์ชันใน Go
func greet(name string) string {
    return "Hello " + name
}

คำอธิบาย:

  • ฟังก์ชันใน Go ต้องระบุประเภทของพารามิเตอร์และประเภทของค่าผลลัพธ์ที่ฟังก์ชันจะคืนค่ากลับ
  • ฟังก์ชันใน Go ต้องใช้คำสั่ง func และการประกาศประเภทข้อมูลต้องมีความชัดเจน

 

การส่งพารามิเตอร์และการคืนค่าในฟังก์ชัน

JavaScript:

ใน JavaScript, ฟังก์ชันสามารถรับพารามิเตอร์และคืนค่าผลลัพธ์ได้ โดยไม่จำเป็นต้องระบุประเภทของพารามิเตอร์

ตัวอย่างการส่งพารามิเตอร์และคืนค่าใน JavaScript:

function add(a, b) {
    return a + b;
}

let result = add(5, 10);  // 15

คำอธิบาย:

  • ใน JavaScript, ฟังก์ชันสามารถรับพารามิเตอร์โดยไม่ต้องระบุประเภทข้อมูล
  • ฟังก์ชันสามารถคืนค่าได้ทันที และไม่จำเป็นต้องระบุประเภทของค่าผลลัพธ์

Go:

ใน Go, ฟังก์ชันต้องระบุประเภทของพารามิเตอร์และค่าผลลัพธ์ให้ชัดเจน

ตัวอย่างการส่งพารามิเตอร์และคืนค่าใน Go:

func add(a int, b int) int {
    return a + b
}

result := add(5, 10)  // 15

คำอธิบาย:

  • ใน Go, ฟังก์ชันจะต้องระบุประเภทข้อมูลของพารามิเตอร์และค่าผลลัพธ์ให้ชัดเจน
  • Go เป็นภาษา statistically typed, ดังนั้นทุกตัวแปรจะต้องมีการระบุประเภทข้อมูลที่ชัดเจน

 

การใช้งานฟังก์ชันที่ไม่มีค่าผลลัพธ์ (Void Functions)

JavaScript:

JavaScript อนุญาตให้มีฟังก์ชันที่ไม่คืนค่าผลลัพธ์ (void functions)

ตัวอย่าง:

function printMessage(message) {
    console.log(message);
}

printMessage("Hello, World!");

คำอธิบาย:

  • ฟังก์ชันใน JavaScript สามารถไม่คืนค่าได้ (void function) โดยไม่จำเป็นต้องระบุ return ในฟังก์ชัน
  • ฟังก์ชันจะทำงานแค่คำสั่งภายใน และไม่ต้องการผลลัพธ์ที่ต้องส่งกลับ

Go:

ใน Go, ฟังก์ชันที่ไม่มีค่าผลลัพธ์จะไม่ระบุการคืนค่าใด ๆ

ตัวอย่าง:

func printMessage(message string) {
    fmt.Println(message)
}

printMessage("Hello, World!")

คำอธิบาย:

  • Go ไม่มีฟังก์ชันที่เรียกว่า void functions เหมือนใน JavaScript แต่สามารถทำได้โดยการไม่ระบุค่าผลลัพธ์ในการประกาศฟังก์ชัน
  • ฟังก์ชันใน Go สามารถไม่มีค่าผลลัพธ์ได้หากไม่ระบุประเภทค่าผลลัพธ์

 


 

สรุปและข้อแนะนำ

  • JavaScript: ฟังก์ชันสามารถประกาศได้หลายรูปแบบ เช่น แบบปกติ (function declaration) และ Arrow function ซึ่งทำให้สะดวกและยืดหยุ่นในการพัฒนาโปรเจกต์ที่ต้องการการเปลี่ยนแปลงบ่อย
  • Go: ฟังก์ชันใน Go มีความชัดเจนและต้องระบุประเภทข้อมูลของพารามิเตอร์และค่าผลลัพธ์ ทำให้โค้ดมีความปลอดภัยและง่ายต่อการตรวจสอบข้อผิดพลาด

การเลือกใช้ฟังก์ชันในแต่ละภาษาขึ้นอยู่กับความต้องการและประเภทของโปรเจกต์ที่คุณกำลังพัฒนา:

  • หากคุณต้องการพัฒนาเว็บแอปพลิเคชันที่ต้องการการพัฒนาอย่างรวดเร็ว JavaScript จะเป็นตัวเลือกที่ดี
  • หากคุณต้องการพัฒนาระบบที่ต้องการความปลอดภัยในการจัดการประเภทข้อมูลและการตรวจสอบข้อผิดพลาดอย่างลึกซึ้ง Go จะเป็นตัวเลือกที่เหมาะสม

ตอนต่อไป:

ในตอนถัดไปของซีรีส์ JS2GO เราจะพาคุณไปทำความรู้จักกับ การใช้งาน Package ใน JavaScript กับ Go เพื่อเปรียบเทียบการจัดการ Package ในทั้งสองภาษา และการใช้ Package ให้เหมาะสมกับการพัฒนาโปรเจกต์ต่าง ๆ

หากคุณต้องการเรียนรู้การใช้งานฟังก์ชันใน Go และ JavaScript อย่างละเอียด และพัฒนาทักษะการเขียนโปรแกรมให้มีประสิทธิภาพ Superdev School พร้อมที่จะช่วยเสริมทักษะการพัฒนาโปรแกรมของคุณ! สมัครเรียนกับเราเลย!

 

อ่านบทความ Golang The Series: Golang The Series

อ่านบทความ JS2GO: JS2GO

🔵 Facebook: Superdev School  (Superdev)

📸 Instagram: superdevschool

🎬 TikTok: superdevschool

🌐 Website: www.superdev.school