English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل أساسي Golang

تعليمات التحكم Golang

وظائف & طرق Golang

مباني Golang

قطع & مصفوفات Golang

تحويلات نصية (String) Golang

مؤشرات Golang

واجهات Golang

تعارض Golang

استثنائية Golang (Error)

متنوعة Golang

البنية والإشارة في Go

Goلغة البرمجة أو إشارة Golang هي مغير، يستخدم لتخزينالم変المرجع المادي. وماتریسیک توالی طولی ثابت است که برای ذخیره عناصر مشابه در حافظه استفاده می‌شود.

می‌توانید از اشاره‌گر به آرایه استفاده کنید و آن را به عنوان پارامتر به دالة ارسال کنید. برای درک این مفهوم، بیایید مثالی بزنیم. در برنامه زیر، ما از آرایه‌ای شامل اشاره‌گر به آرایه‌ای از 5 عنصر استفاده می‌کنیمarrاستفاده می‌کنیم. ما باید از دالة برای به‌روزرسانی این آرایه استفاده کنیم. این به معنای به‌روزرسانی آرایه در داخل دالة (در اینجا آرایه arr) است.{78،89،45،56،14})، و تغییرات در مکان فراخواننده منعکس خواهد شد. بنابراین، در اینجا ما ازupdatearrayدالایی که پارامتر نوع اشاره‌گر به آرایه دارد. با استفاده ازupdatearray(&arr)کد، ما آدرس آرایه را ارسال کردیم. در داخل دالة (*funarr)[4] = 750 یا funarr[4] = 750 با استفاده از روش رفرنس‌دهی به آرایه مقدار جدید را تنظیم می‌کنیم، که در آرایه اصلی نیز اعمال می‌شود. در نهایت، برنامه خروجی [78 89 45 56 750] را نشان می‌دهد.

// برنامه‌نویسی Golang
// آرایه به‌عنوان پارامتر دالة
package main
import "fmt"
// تعریف یک دالة
func updatearray(funarr *[5]int) {
    // برای تغییر مقدار با استفاده از شماره‌ی محدوده
    (*funarr)[4] = 750
    // می‌توانید بنویسید
    // خطوط کد بالا
    // funarr[4] = 750
}
func main() {
    // دریافت اشاره‌گر به آرایه
    arr := [5]int{78, 89, 45, 56, 14}
    // اشاره‌گر به آرایه را ارسال کنید
    // و اجرای updatearray
    updatearray(&arr)
    // آرایه به‌روزرسانی‌شده
    fmt.Println(arr)
}

النتيجة:

[78 89 45 56 750]

توجه:در Golang، استفاده از اشاره‌گر به آرایه به‌عنوان پارامتر دالة توصیه نمی‌شود، زیرا کد خوانا می‌شود. همچنین، این روش خوبی برای انجام این کار نیست. به جای آن، می‌توانید از سلسله استفاده کنید تا به جای انتقال اشاره‌گر، سلسله را ارسال کنید.

// برای توضیح برنامه‌نویسی Golang
// استفاده از سلسله به‌عنوان پارامتر دالة
package main
import "fmt"
func updateslice(funarr []int) {
    // به‌روزرسانی مقدار
    // در موقع مشخص
    funarr[4] = 750
}
func main() {
    // تعريف سلسلة
    s := [5]int{78, 89, 45, 56, 14}
    // برای انتقال به
    // دالة updateslice
    updateslice(s[:])
    // عرض النتيجة
    fmt.Println(s)
}

النتيجة:

[78 89 45 56 750]