18.آموزش GO با مثال(سازه ها)

سازه ها در گو مجموعه ای از فیلدها را تایپ میکنند. اینها برای گروه بندی داده به فرم رکورد مفید هستند.

package main
import "fmt"

این نوع سازه person دو فیلد name و age را دارد.

type person struct {
    name string
    age  int
}
func main() {

این نحو یک سازه جدید را میسازد.

   fmt.Println(person{"Bob", 20})

هنگام ایجاد یک سازه میتوانید فیلد ها را نام گذاری کنید.

   fmt.Println(person{name: "Alice", age: 30})

فیلدهای حذف شده صفر-مقدار خواهند بود.

   fmt.Println(person{name: "Fred"})

یک پیشوند &یک اشاره گر به یک ساختار میدهد.

   fmt.Println(&person{name: "Ann", age: 40})

دسترسی به فیلدهای یک سازه با نقطه.

   s := person{name: "Sean", age: 50}
    fmt.Println(s.name)

همچنین شما میتونید از نقطه ها در اشاره گرهای سازه استفاده کنید - اشاره گرها به صورت خودکار غیر ارجاعی میشوند.

   sp := &s
    fmt.Println(sp.age)

سازه ها قابل تغییر هستند.

   sp.age = 51
    fmt.Println(sp.age)
}

اجرای این برنامه

$ go run structs.go
{Bob 20}
{Alice 30}
{Fred 0}
Sean
50
51

<<اشاره گرها---------------------------------------متد ها >>