سلام، با استفاده کردن از anonymous struct هم یک نمونه از structمون ساخته میشه یا کلا نسبت به 5 روش گفته شده در ویدیو فرق میکنه؟
و ممنون میشم اگه یه توضیح مختصری راجب بهش بدین و بگید که بیشتر کجاها ازش استفاده میشه.
سلام وقت بخیر
ساختارهای ناشناس (anonymous structs) ، ساختاری هستش که بدون تعریف نام ایجاد میشه. به جای اینکه برای اون اسم مشخص کنید، میتونید مستقیماً یک anonymous structs تعریف کنید.
package main
import "fmt"
func main() {
person := struct {
name string
age int
}{
name: "John",
age: 30,
}
fmt.Println(person.name)
fmt.Println(person.age)
}
در این مثال، یک anonymous structs با دو فیلد `name` و `age` داریم و مقدار دهیش کردیم. بعد میتونیم به صورت مستقیم از فیلدهای anonymous structs استفاده کنیم.
استفاده از anonymous structs در صورتی کاربرد داره که نیاز به structهای ( کوچک و موقت ) باشه و همچنین نیازی به تعریف نام و مقداردهی اولیه نداشته باشه.
مثلا :
- تعریف یک struct کوچک برای استفاده موقت توی data structure پیچیدهتر.
- تعریف Data Structure ساده در دستورات کنترلی مانند channels و goroutines.
- استفاده در توابعی که نیاز به return کردن همزمان چند value دارن
استفاده از این نوع sturct بسته به شرایط و نیازهای خاص میتونن منجر به کدی کوتاهتر، خواناتر و بدون نیاز به تعریف اضافی بشن. با این حال توجه کنید که استفاده زیاد از anonymous structs و توابع پیچیدهتر، خوانایی و قابل فهمی کد را کاهش میده.