# do-while loop คืออะไร? ประยุกต์ใช้งานแบบง่ายๆ ในภาษา Golang
บทความโดย: EPT สถาบันเรียนรู้การเขียนโปรแกรม
การเขียนโค้ดในภายาษาโปรแกรมมิ่งนั้นมีหลากหลายวิธีเพื่อจัดการกับการทำซ้ำหรือ loop ในการทำงาน หนึ่งในนั้นก็คือ do-while loop ซึ่งเป็น loop ที่จะทำงานอย่างน้อยหนึ่งครั้งก่อนที่จะตรวจสอบเงื่อนไขต่างๆ ซึ่งต่างจาก while loop ทั่วไปที่ตรวจเงื่อนไขก่อนการทำงานในแต่ละรอบ
Golang หรือ Go เป็นภาษาโปรแกรมมิ่งที่ออกแบบมาเพื่อง่ายต่อการเรียนรู้และประสิทธิภาพการทำงานสูง แม้ว่า Golang ไม่มี loop ชนิด do-while แต่เราสามารถที่จะจำลองการทำงานให้เหมือน do-while ได้ด้วยการใช้ for loop ที่มีลักษณะพิเศษ เช่น:
package main
import "fmt"
func main() {
// ตัวอย่างการใช้งาน loop ที่เหมือนกับ do-while ใน Golang
count := 0
for ok := true; ok; ok = (count < 5) {
fmt.Println("ทำรอบที่:", count)
count++
}
}
ในตัวอย่างข้างต้น เราได้สร้างตัวแปร `count` ซึ่งใช้นับจำนวนครั้งที่ loop ทำงาน และเริ่ม loop ด้วยการให้ `ok` เป็น `true` เพื่อให้ loop ทำงานอย่างน้อยหนึ่งครั้ง จากนั้นจะเช็คเงื่อนไขในตอนท้ายของ loop และหยุดการทำงานเมื่อ `count` มีค่า 5 หรือมากกว่า
Usecase ที่ 1: การตรวจสอบ Input จากผู้ใช้
package main
import (
"bufio"
"fmt"
"os"
"strings"
)
func main() {
reader := bufio.NewReader(os.Stdin)
var input string
for ok := true; ok; {
fmt.Print("กรอก input ของคุณ (พิมพ์ 'exit' เพื่อออก): ")
input, _ = reader.ReadString('\n')
input = strings.TrimSpace(input)
if input == "exit" {
ok = false
} else {
fmt.Println("คุณพิมพ์:", input)
}
}
}
ใน usecase นี้, เราใช้ do-while loop จำลองในการรับ input จากผู้ใช้ โดยจะทำการรับ input และแสดงผลจนกว่าผู้ใช้จะพิมพ์ 'exit' เพื่อออกจาก loop
Usecase ที่ 2: การทำระบบตรวจสอบ authentication ที่ส่วนใหญ่ขอการยืนยันหลายรอบ
package main
import "fmt"
func main() {
var username, password string
var authenticationSuccess bool
for authenticationSuccess = false; !authenticationSuccess; {
fmt.Print("กรุณาใส่ username: ")
fmt.Scanln(&username)
fmt.Print("กรุณาใส่ password: ")
fmt.Scanln(&password)
// ตรวจสอบความถูกต้อง (ด้านนี้จะเป็นจำลองการเช็คที่แสนง่าย)
if username == "user" && password == "pass" {
fmt.Println("ยินดีต้อนรับ!")
authenticationSuccess = true
} else {
fmt.Println("username หรือ password ไม่ถูกต้อง, กรุณาลองใหม่")
}
}
}
ใช้ do-while loop เพื่อยืนยันความถูกต้องของ username และ password, โดยระบบจะทวนสอบข้อมูลจนกว่าจะถูกต้อง
การโปรแกรมมิ่งเป็นทักษะที่สำคัญในยุคดิจิทัลนี้ และการเรียนรู้โครงสร้างพื้นฐานเช่น do-while loop เป็นขั้นตอนต้นๆ เพื่อก้าวสู่การเป็นนักพัฒนาซอฟต์แวร์มืออาชีพ ที่ EPT เราพัฒนาหลักสูตรที่จะนำทางคุณสู่ความเข้าใจการเขียนโค้ดด้วยมุมมองที่ซับซ้อนยิ่งขึ้น แต่ยังคงง่ายต่อการเรียนรู้มาร่วมสัมผัสการเรียนการสอนแบบมีปฏิสัมพันธ์ที่ EPT วันนี้และเดินหน้าสู่ความเป็นโปรแกรมเมอร์อย่างมั่นใจ!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
Tag ที่น่าสนใจ: do-while_loop golang loop programming iteration control_flow for_loop conditional_statements input_validation authentication programming_basics
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM
Copyright (c) 2013 expert-programming-tutor.com. All rights reserved. | 085-350-7540 | 084-88-00-255 | ntprintf@gmail.com