ฟังก์ชั่นระเหยใน Golang

ฟังก์ชัน Variadic ใน Goช่วยให้คุณสามารถส่งอาร์กิวเมนต์จำนวนไม่แน่นอนไปยังฟังก์ชันได้ คุณสมบัตินี้มีประโยชน์เมื่อคุณไม่ทราบล่วงหน้าว่าคุณจะผ่านอาร์กิวเมนต์จำนวนเท่าใด ฟังก์ชันGolang Variadic  ยอมรับอาร์กิวเมนต์หลายตัวที่มีประเภทเดียวกัน และสามารถเรียกใช้ด้วยอาร์กิวเมนต์ได้จำนวนเท่าใดก็ได้ รวมถึงไม่มีเลยด้วยซ้ำ

ฟังก์ชั่นระเหยใน Golang

package main
import "fmt"

// Hàm Variadic tính tổng
func sum(nums ...int) int {
    total := 0
    for _, n := range nums {
        total += n
    }
    return total
}

func main() {
    fmt.Println("Sum of 1, 2, 3:", sum(1, 2, 3))
    fmt.Println("Sum of 4, 5:", sum(4, 5))
    fmt.Println("Sum of no numbers:", sum())
}

ผลลัพธ์:

Sum of 1, 2, 3: 6
Sum of 4, 5: 9
Sum of no numbers: 0

รูปแบบประโยค :

func functionName(parameters ...Type) ReturnType {
    // Code
}

ในไวยากรณ์ข้างต้น:

  • parameters ...Typeระบุว่าฟังก์ชันสามารถรับอาร์กิวเมนต์ชนิด Type ได้จำนวนตัวแปร
  • คุณสามารถเข้าถึงอาร์กิวเมนต์ในฟังก์ชันเป็นสไลซ์ได้

วิธีใช้ฟังก์ชันที่ไม่แน่นอนใน Golang

การใช้ฟังก์ชัน Variadic

เมื่อกำหนดฟังก์ชัน variadic คุณต้องระบุประเภทอาร์กิวเมนต์ตามด้วยจุดไข่ปลา (...) เหมือนในตัวอย่างข้างต้น ภายในฟังก์ชันนั้น อาร์กิวเมนต์เหล่านี้สามารถคิดได้ว่าเป็นสไลซ์

การเรียกใช้ฟังก์ชัน variadic

คุณสามารถเรียกใช้ฟังก์ชัน variadic ได้ด้วยอาร์กิวเมนต์จำนวนเท่าใดก็ได้ รวมถึงศูนย์ด้วย ฟังก์ชันนี้จะปฏิบัติต่ออาร์กิวเมนต์เป็นสไลซ์

ตัวอย่างเช่น:

package main
import "fmt"

func sum(nums ...int) int {
    total := 0
    for _, n := range nums {
        total += n
    }
    return total
}

func main() {
    fmt.Println("Sum of 1, 2, 3:", sum(1, 2, 3))
    fmt.Println("Sum of 4, 5:", sum(4, 5))
    fmt.Println("Sum of no numbers:", sum())
}

ผลลัพธ์:

Sum of 1, 2, 3: 6
Sum of 4, 5: 9
Sum of no numbers: 0

ฟังก์ชัน Variadic ที่มีพารามิเตอร์ต่างกัน

คุณสามารถรวมพารามิเตอร์ Variadic กับพารามิเตอร์ปกติในฟังก์ชันได้ พารามิเตอร์ Variadic จะต้องเป็นพารามิเตอร์สุดท้ายเสมอ

ตัวอย่างเช่น:

package main
import "fmt"

// Hàm Variadic tính tổng
func sum(nums ...int) int {
    total := 0
    for _, n := range nums {
        total += n
    }
    return total
}

// Hàm với tham số thông thường và variadic 
func greet(prefix string, nums ...int) {
    fmt.Println(prefix)
    for _, n := range nums {
        fmt.Println("Number:", n)
    }
}
func main() {
    greet("Sum of numbers:", 1, 2, 3)
    greet("Another sum:", 4, 5)
    greet("No numbers sum:")
}

ผลลัพธ์:

Sum of numbers:
Number: 1
Number: 2
Number: 3
Another sum:
Number: 4
Number: 5
No numbers sum:

ข้อจำกัดของฟังก์ชัน Variadic

  • ฟังก์ชัน Variadic สามารถมีพารามิเตอร์ Variadic ได้เพียงตัวเดียวและจะต้องเป็นพารามิเตอร์สุดท้าย
  • คุณไม่สามารถมีพารามิเตอร์ variadic หลายตัวในนิยามฟังก์ชันเดียวได้
Sign up and earn $1000 a day ⋙

Leave a Comment

รีวิว OPPO Reno 5 Pro 5G: คู่แข่งรายอื่นควรระวัง

รีวิว OPPO Reno 5 Pro 5G: คู่แข่งรายอื่นควรระวัง

Reno 5 Pro 5G ไม่แตกต่างจากรุ่นก่อนหน้ามากนัก โดยยังคงใช้หน้าจอโค้ง AMOLED ขนาด 6.5 นิ้วเหมือนเดิม

จำนวนคละคืออะไร?

จำนวนคละคืออะไร?

จำนวนคละคือจำนวนเต็มและเศษส่วนผสมกัน เศษส่วนของจำนวนคละจะน้อยกว่า 1 เสมอ

เคล็ดลับการท่องเที่ยวแบบคนรวย

เคล็ดลับการท่องเที่ยวแบบคนรวย

คุณมีงบประมาณจำกัดเมื่อต้องเดินทางหรือเปล่า? ไม่ต้องกังวล เคล็ดลับที่ที่ปรึกษาด้านการท่องเที่ยวชื่อดังแบ่งปันด้านล่างนี้จะช่วยให้คุณเดินทางได้เหมือนคนรวย

ปลั๊กอิน Obsidian ที่ดีที่สุด 7 อันสำหรับมือถือ

ปลั๊กอิน Obsidian ที่ดีที่สุด 7 อันสำหรับมือถือ

นอกจากการปรับแต่งอินเทอร์เฟซและทำให้ Obsidian ทำงานได้อย่างมีประสิทธิภาพมากขึ้นแล้ว พวกเขายังมอบชุดเครื่องมือจดบันทึกที่สมบูรณ์ยิ่งขึ้นให้แก่คุณอีกด้วย

วิธีแก้ไขหน้าจอภายนอกไม่ชัด

วิธีแก้ไขหน้าจอภายนอกไม่ชัด

จอภาพภายนอกที่มืดอาจรบกวนการทำงานและทำให้สายตาเสียได้ โชคดีที่มีหลายสิ่งที่คุณสามารถทำได้เพื่อแก้ไขหน้าจอเบลอ!

สัญลักษณ์เพศชายและเพศหญิงมาจากไหน?

สัญลักษณ์เพศชายและเพศหญิงมาจากไหน?

ความหมายของสัญลักษณ์ชายและหญิงที่นิยมในปัจจุบันอาจไม่เป็นที่ทราบกันสำหรับทุกคน มาเรียนรู้เพิ่มเติมเกี่ยวกับสัญลักษณ์ชายและหญิงกันเถอะ!

ประวัติศาสตร์ลึกลับของหลุมดำถูกถอดรหัสโดยนักวิทยาศาสตร์

ประวัติศาสตร์ลึกลับของหลุมดำถูกถอดรหัสโดยนักวิทยาศาสตร์

ความเข้าใจผิดที่พบบ่อยอย่างหนึ่งเกี่ยวกับหลุมดำก็คือ หลุมดำไม่ได้เพียงแค่กลืนสสารเท่านั้น แต่ยังกลืนประวัติศาสตร์ของสสารนั้นด้วย ความจริงเกี่ยวกับประวัติศาสตร์ของหลุมดำได้รับการไขแล้วในที่สุด

ไม่จำเป็นต้องมีแอป Adobe Mobile หลายแอป Adobe Express คือแอปเดียวที่คุณต้องการ!

ไม่จำเป็นต้องมีแอป Adobe Mobile หลายแอป Adobe Express คือแอปเดียวที่คุณต้องการ!

Adobe มีแอพแก้ไขรูปภาพเฉพาะบนโทรศัพท์มากกว่า 4 แอพ โดยทั้งหมดนั้นมีความคล้ายคลึงกันมาก จึงยากที่จะแยกแยะว่าคุณต้องการแอพไหนจริงๆ

5 แกดเจ็ตที่จะเปลี่ยนทีวีธรรมดาให้กลายเป็นสมาร์ททีวี

5 แกดเจ็ตที่จะเปลี่ยนทีวีธรรมดาให้กลายเป็นสมาร์ททีวี

ทีวีธรรมดาก็ยังสามารถเรียนรู้เทคนิคใหม่ๆ ได้ด้วยอุปกรณ์เพียงไม่กี่ชิ้น และกลายเป็นทีวีอัจฉริยะราคาแพงได้ภายในไม่กี่นาที

วิธีการใช้งานรีโมทแอร์ Panasonic

วิธีการใช้งานรีโมทแอร์ Panasonic

การใช้รีโมทเครื่องปรับอากาศ Panasonic อย่างถูกต้องจะช่วยให้เราใช้ประโยชน์จากคุณสมบัติต่างๆ ของเครื่องปรับอากาศได้อย่างเต็มที่

Gemini เปิดตัว Talk Live สำหรับรูปภาพ ไฟล์ และ YouTube

Gemini เปิดตัว Talk Live สำหรับรูปภาพ ไฟล์ และ YouTube

Gemini Live ได้เพิ่มฟีเจอร์ “พูดคุยสดเกี่ยวกับ” และกำลังเปิดตัวให้ใช้งานอย่างแพร่หลายยิ่งขึ้นบนอุปกรณ์ Android ก่อนหน้านี้ Gemini Live ยอมรับเฉพาะการป้อนด้วยเสียงเท่านั้น แต่ “Talk Live about” ได้ขยายการอัปโหลดเนื้อหา

Microsoft Copilot ได้รับการอัปเกรดด้วยการวิจัยเชิงลึก

Microsoft Copilot ได้รับการอัปเกรดด้วยการวิจัยเชิงลึก

ในที่สุด Microsoft ก็นำฟังก์ชัน Deep Research มาสู่ Copilot AI แล้ว ช่วยให้ผู้ใช้สามารถดำเนินการวิจัยแบบละเอียดหลายขั้นตอนเกี่ยวกับหัวข้อใด ๆ ได้

วิธีเปลี่ยนรูปถ่ายเป็นภาพร่างดินสอใน Photoshop

วิธีเปลี่ยนรูปถ่ายเป็นภาพร่างดินสอใน Photoshop

บทช่วยสอนนี้จะแสดงวิธีเปลี่ยนรูปถ่ายเป็นภาพร่างดินสอได้อย่างง่ายดายโดยใช้ Adobe Photoshop

ฟังก์ชั่นระเหยใน Golang

ฟังก์ชั่นระเหยใน Golang

ฟังก์ชัน Variadic ใน Go ช่วยให้คุณสามารถส่งอาร์กิวเมนต์จำนวนไม่แน่นอนไปยังฟังก์ชันได้ นี่คือทุกสิ่งที่คุณจำเป็นต้องทราบเกี่ยวกับฟังก์ชันผันผวนใน Golang

วิธีเขียนตัวอักษรสีใน Lien Quan Mobile

วิธีเขียนตัวอักษรสีใน Lien Quan Mobile

หากต้องการเขียนข้อความสีใน Lien Quan Mobile ให้ทำตามคำแนะนำในบทความนี้ ตัวละครสีของ LQ Mobile จะโดดเด่นมากขึ้น