รันโค้ดตัดเกรด Go (Golang) แต่ไม่ผ่านขึ้นข้อความ Error ว่า empty rune literal or unescaped ' แบบนี้ต้องแก้ไขอย่างไร
func main() {
scanner := bufio.NewScanner(os.Stdin)
fmt.Print("Input score = ")
scanner.Scan()
score, _ := strconv.Atoi( scanner.Text() )
grade := ''
if( score >= 90 ) {
grade = "A"
} else if( score >= 80 ) {
grade = "B"
} else if( score >= 70 ) {
grade = "C"
} else if( score >= 60 ) {
grade = "D"
} else {
grade = "E"
}
fmt.Println("score =",score, "/ grade =",grade)
}
วิธีแก้ไข
ปัญหานี้เกิดจากตัวแปร grade ตอนสร้างและประกาศค่าเริ่มต้นต้องอยู่ในรูปแบบข้อความ (String) คือ grade := “” แทน grade := ‘’ เนื่องจากภายในคำสั่ง if - else มีการกำหนดค่าให้ตัวแปร grade เป็น double quote คือเป็นชนิดข้อความ (String)