به جز عنوان واقعا چیز زیادی برای گفتن نیست. توی فارسی وقتی اسمی به الف یا و ختم بشه و ما بهش بگیم «$اسم عزیز خوش اومدی» یک باگ ریز پیش میاد. مثلا این برنامه رو نگاه کنین:
package main
import "fmt"
func main() {
var name string = "کاربر"
for name != "رفتم" {
fmt.Print(name, " عزیز خوش اومدی.\n\n")
fmt.Print("حالا اسم جدیدت رو بده: ")
fmt.Scanln(&name)
}
}
که نمونه اجراش میشه این:
$ go run 1.go کاربر عزیز خوش اومدی. حالا اسم جدیدت رو بده: جادی جادی عزیز خوش اومدی. حالا اسم جدیدت رو بده: شیما شیما عزیز خوش اومدی. حالا اسم جدیدت رو بده: رفتم
و درست همینجا است که شیما به من ایمیل زده و گفته وقتی سایتی بهش می گه «شیما عزیز خوش اومدی» اصلا براش جذاب نیست. پس برنامه باید این شکلی باشه:
package main
import "fmt"
func main() {
var name string = "کاربر"
var greeter string
for name != "رفتم" {
if (name[len(name)-2:] == "ا") || (name[len(name)-2:] == "و") {
greeter = name + "ی"
} else {
greeter = name
}
fmt.Print(greeter, " عزیز خوش اومدی.\n\n")
fmt.Print("حالا اسم جدیدت رو بده: ")
fmt.Scanln(&name)
}
}
که خروجی شخصیترین شبیه این بده:
$ go run 1.go کاربر عزیز خوش اومدی. حالا اسم جدیدت رو بده: جادی جادی عزیز خوش اومدی. حالا اسم جدیدت رو بده: شیما شیمای عزیز خوش اومدی. حالا اسم جدیدت رو بده: شاهو شاهوی عزیز خوش اومدی. حالا اسم جدیدت رو بده: رفتم
خوبه؟ پس یک if جلوی باگ شیما رو بگیرین تا افرادی که اسمشون با الف یا و نموم میشه حس نکنن یک باگ در برنامه شما هستن.