الأساليب في لغة جولانج

سجل واكسب 1000 دولار في اليوم ⋙

الأساليب في Golang  تشبه الوظائف ولكن مع اختلاف رئيسي واحد: لديها وسيطة مستقبل ، والتي تسمح بالوصول إلى خصائص المستقبل . يمكن أن يكون المستقبل من نوع struct أو غير struct، ولكن يجب أن يكون كلاهما في نفس الحزمة. ليس من الممكن إنشاء طرق للأنواع المحددة في حزم أخرى، بما في ذلك الأنواع المضمنة مثل int أو string ؛ وإلا، فسوف يقوم المترجم بالإبلاغ عن خطأ.

الأساليب في لغة جولانج

على سبيل المثال:

package main

import "fmt"

// Định nghĩa một struct
type person struct {
    name string
    age  int
}

// Định nghĩa một phương thức với struct receiver
func (p person) display() {
    fmt.Println("Name:", p.name)
    fmt.Println("Age:", p.age)
}

func main() {
    // Tạo một phiên bản của struct
    a := person{name: "a", age: 25}
    
    // Gọi phương thức
    a.display()
}

نتيجة:

Name: a
Age: 25

بناء الجملة

func(receiver_name Type)  method_name(parameter_list) (return_type) { 
// Code
}

المستقبل: يمكن الوصول إليه باستخدام هذه الطريقة.

طريقة مع مستقبل من نوع الهيكل

في Go، يمكنك تعريف طريقة حيث يكون المستقبل من نوع struct. يمكن الوصول إلى جهاز الاستقبال داخل الطريقة. يوضح المثال السابق هذا النهج باستخدام Receiver من نوع struct.

الطريقة مع المستقبل ليست من نوع الهيكل

تسمح Go أيضًا للطرق بأن يكون لها مستقبلات غير هيكلية، طالما أن نوع المستقبل وتعريف الطريقة موجودان في نفس الحزمة. لا يمكنك تعريف طريقة بنوع مستقبل من حزمة أخرى (على سبيل المثال int، string).

على سبيل المثال:

package main

import "fmt"

// Tạo một kiểu tùy biến dựa trên int
type number int

// Định nghĩa một phương thức với receiver không phải struct
func (n number) square() number {
    return n * n
}

func main() {
    a := number(4)
    b := a.square()

    fmt.Println("Square of", a, "is", b)
}

نتيجة:

Square of 4 is 16

الطريقة مع مؤشر المستقبل

في Go، يمكن أن تحتوي الأساليب على مستقبلات مؤشر. يتيح هذا للتغييرات التي تم إجراؤها في الطريقة أن تنعكس في المتصل، وهو أمر غير ممكن مع مستقبلات القيمة.

بناء الجملة:

func (p *Type) method_name(...Type) Type {    // Code}

على سبيل المثال:

package main

import "fmt"

// Defining a struct
type person struct {
    name string
}

// Phương thức với receiver pointer để chỉnh sửa dữ liệu
func (p *person) changeName(newName string) {
    p.name = newName
}

func main() {
    a := person{name: "a"}
    
    fmt.Println("Before:", a.name)
    
    // Gọi phương thức này để thay đổi tên
    a.changeName("b")
    
    fmt.Println("After:", a.name)
}

نتيجة:

Before: a
After: b

تقبل الطريقة كل من المؤشر والقيمة

على عكس الوظائف، يمكن لطرق Go قبول كل من مستقبلات القيمة والمؤشر. يمكنك تمرير المؤشرات أو القيم وسوف تقوم الطريقة بالتعامل معها وفقًا لذلك.

على سبيل المثال:

package main
import "fmt"

type person struct {
    name string
}
// Phương thức với receiver pointer
func (p *person) updateName(newName string) {
    p.name = newName
}

// Phương thức với receiver value 
func (p person) showName() {
    fmt.Println("Name:", p.name)
}

func main() {
    a := person{name: "a"}
    
    // Gọi phương thức con trỏ cùng giá trị
    a.updateName("b")
    fmt.Println("After pointer method:", a.name)
    
    // Gọi phương thức giá trị với con trỏ
    (&a).showName()
}

نتيجة:

After pointer method: b
Name: b

الفرق بين الطريقة والوظيفة

طريقة فك
يحتوي على جهاز استقبال لا يحتوي على جهاز استقبال
من الممكن تعريف طرق بنفس الاسم ولكن بأنواع مختلفة. لا يُسمح بالوظائف التي تحمل نفس الاسم ولكن أنواعًا مختلفة.
لا يمكن استخدامها كصيغة تفضيل يمكن استخدامها ككائنات علوية
Sign up and earn $1000 a day ⋙

Leave a Comment

مساحة اللعب معًا، قم بتسمية المساحة اللعب معًا

مساحة اللعب معًا، قم بتسمية المساحة اللعب معًا

يستخدم العديد من الأشخاص المسافات في أسمائهم المسجلة في Play Together أو يستخدمون علامات سفلية صغيرة لإنشاء مسافات بين الأحرف التي تكتبها في اسمك.

كيفية تنزيل Black Beacon للكمبيوتر الشخصي

كيفية تنزيل Black Beacon للكمبيوتر الشخصي

على الرغم من أنه من الممكن تمامًا تجربة Black Beacon على جهاز الكمبيوتر، إلا أن اللعبة لم يتم تحسينها رسميًا لهذه المنصة في هذا الوقت.

صيغة حساب مساحة السطح وحجم الكرة

صيغة حساب مساحة السطح وحجم الكرة

مساحة سطح الكرة هي أربعة أضعاف مساحة الدائرة الكبيرة، أي أربعة أضعاف الثابت باي مضروبًا في مربع نصف قطر الكرة.

ما هو المميز في البدلة الفضائية التي اختارتها الصين لهبوط أول رائد فضاء مأهول على سطح القمر؟

ما هو المميز في البدلة الفضائية التي اختارتها الصين لهبوط أول رائد فضاء مأهول على سطح القمر؟

تهدف الصين إلى إرسال أول مواطنيها إلى القمر بحلول عام 2030، وقد كشفت البلاد للتو عن بدلة فضاء مصممة حديثًا سيتم استخدامها في المهمة التاريخية القادمة.

الأطعمة التي تسبب الالتهابات بسهولة في الجسم

الأطعمة التي تسبب الالتهابات بسهولة في الجسم

يمكن للعديد من الأطعمة أن تسبب الالتهابات والأمراض المزمنة. فيما يلي الأطعمة التي يجب عليك تجنب الإفراط في تناولها إذا كنت لا تريد إدخال الأمراض إلى جسمك.

تعليمات حول كيفية لعب Zuka Lien Quan Mobile الموسم الأول 2023

تعليمات حول كيفية لعب Zuka Lien Quan Mobile الموسم الأول 2023

زوكا هو قاتل معروف بأنه يشكل رعبًا للأبطال ذوي الصحة المنخفضة. تعلم كيفية استخدام Zuka بشكل فعال في الموسم 23.

أحدث رمز Heroic Era وكيفية استرداد الرمز

أحدث رمز Heroic Era وكيفية استرداد الرمز

إن تلقي الهدايا من خلال رموز هدايا Heroic Age هو ما يفعله جميع اللاعبين الجدد تقريبًا عند الانضمام إلى اللعبة.

8 من أرخص مزودي خدمات التخزين السحابي

8 من أرخص مزودي خدمات التخزين السحابي

دعونا نلقي نظرة على خيارات التخزين السحابي عبر الإنترنت الأرخص المتاحة. ستتناول هذه المقالة التسعير من حيث القيمة المطلقة والتسعير لكل جيجابايت (شهريًا) حتى تتمكن من اختيار الأفضل بالنسبة لك.

ما هو خطأ علامة الجنيه (####) في Excel؟

ما هو خطأ علامة الجنيه (####) في Excel؟

#### في Excel هو خطأ شائع في Excel ويظهر في العديد من الحالات المختلفة عندما نقوم بإدخال البيانات في Excel، أو الوظائف في Excel، أو إدخال الصيغ في Excel.

12 إعدادًا في هواتف Samsung Galaxy يجب عليك تغييرها

12 إعدادًا في هواتف Samsung Galaxy يجب عليك تغييرها

هل اشتريت للتو هاتف Samsung Galaxy وتحتاج إلى تكوينه؟ إليك 10 إعدادات يجب عليك تغييرها لجعل هاتف Samsung الخاص بك يعمل بشكل أفضل.

أحدث رموز لعبة Murder Mystery 2 وكيفية إدخالها

أحدث رموز لعبة Murder Mystery 2 وكيفية إدخالها

تساعد لعبة Code Murder Mystery 2 اللاعبين على اختيار المزيد من جلود السكاكين لشخصياتهم أو الحصول على المزيد من الأموال لاستخدامها في الخدمات وشراء أشياء أخرى في اللعبة.

28 تصميمًا جميلًا لبطاقات عيد الميلاد مع تمنيات طيبة للوالدين والأزواج والعشاق والأصدقاء

28 تصميمًا جميلًا لبطاقات عيد الميلاد مع تمنيات طيبة للوالدين والأزواج والعشاق والأصدقاء

في عيد ميلاد حبيبك، ووالديك، وأصدقائك، وإخوتك، وزملائك... بالإضافة إلى الهدايا، لا تنس إرسال بطاقات عيد الميلاد مع التمنيات.

ألغاز مغازلة مضحكة ولكنها حلوة ستأسر قلب من تحب

ألغاز مغازلة مضحكة ولكنها حلوة ستأسر قلب من تحب

ستساعدك هذه الاختبارات الممتعة على ترك انطباع قوي وكسب قلب الشخص الذي تحبه بسرعة وسعادة.

Corki DTCL الموسم 7: بناء العناصر، فرقة Corki Gunner القياسية

Corki DTCL الموسم 7: بناء العناصر، فرقة Corki Gunner القياسية

يحتاج Corki DTCL الموسم 7 إلى الحماية أو الدعم للتسبب في السيطرة إذا كان يريد أن يكون حراً في تدمير فريق العدو. في الوقت نفسه، يجب أن تكون معدات كوركي قياسية أيضًا لتكون قادرة على إحداث ضرر أكثر فعالية.

كيفية تنزيل Mini World Royale وتعليمات حول كيفية اللعب

كيفية تنزيل Mini World Royale وتعليمات حول كيفية اللعب

إليكم رابط تنزيل Mini World Royale وتعليمات اللعب، سيكون لدينا نسختين: Mini World Royale APK و Mini World Royale iOS.