به جز عنوان واقعا چیز زیادی برای گفتن نیست. توی فارسی وقتی اسمی به الف یا و ختم بشه و ما بهش بگیم «$اسم عزیز خوش اومدی» یک باگ ریز پیش میاد. مثلا این برنامه رو نگاه کنین:
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 جلوی باگ شیما رو بگیرین تا افرادی که اسمشون با الف یا و نموم میشه حس نکنن یک باگ در برنامه شما هستن.