سلام و ادب خدمت شما سوال بنده در خصوص اولیت اجرای کد و ابهاماتی هست که برایم در این جلسه به وجود امده است
برنامه ما با دستور زیر اجرا میشود
newPerson(setName("my_name"), setFamily("my_family"))
منطقی هست که ابتد متد setName اجرا شود
سپس setFamily و خروجی این دو منجر به اجرای newPerson شود
حال با اجرای setName
func setName(name string) PersonOptions {
return func(person *Person) {
person.Name = name
}
}
اجرا میشه اما اینجا اصلا ورودی person ای وجود ندارد
سوال بعدی در خصوص دستور
option(person)
میباشد
که به نظر میرسه منظور این است که داخلش است option نام متد هایی باشد که ما به ورودی دادیم به این صورت
setName(person)
سوال من اینجاست که چطور یکبار یک متد ورودی از جنس string دادیم
و بار دیگر ورودی از جنس person