آرایه‌ها در زبان برنامه نویسی گو

در زبان برنامه نویسی گو مثل بیشتر زبان‌های برنامه نویسی آرایه مجموعه‌ای از داده‌های شمارره گذاری شده‌ با طول مشخص و ثابت می‌باشد که همه اعضا از یک نوع هستند.که به صورت زیر تعریف می‌شوند.

var varName [lengthOfArray] type

در صورتی که آرایه‌ای در بدو تعریف مقدار دهی نشود نسبت به نوع داده با یک مقدار خالی یا صفر مقدار دهی اولیه می‌شود. مقدار دهی اولیه آرایه‌ها به صورت زیر می‌باشد.

varName:= [lengthOfArray] type{var1,var2,var3,…..}

برای دست یابی به اعضای آرایه از عدد شماره مورد نظر(ایندکس) در بین دو براکت در مقابل نام آن استفاده می‌کنیم.

varName[index]

به مثال زیر دقت کنید:

a:=  [۵] int{1,2,3,4,5}

fmt.Println(a[3])

a[3]=2

در تکه کد بالا در خط اول یک آرایه با ۵ عضو تعریف کردیم در خط دوم عضو سوم آرایه را چاپ می‌کند و در خط آخر عدد دو را به عضو سوم انتساب می‌کند.

دقت کنید که در زبان برنامه نویسی ‌go اندیس آرایه از صفر شروع میشه.

آرایه‌های دو بعدی در زبان go به صورت زیر تعریف می‌شوند

var a [len1][len2] type

مثال زیر یک آرایه دو بعدی با دو سطر و سه ستون تعریف میکند.

var a [2][3] int

دست رسی به آرایه های دو بعدی به صورت زیر می‌باشد

a[1][2]=1

به مثال زیر توجه فرمایید

package main

import “fmt”

func main() {

//یک ارایه با پنج عنصر ایجاد کرده‌ایم

//اگر آرایه ها را مقدار دهی نکنیم اگر آرایه عددی باشد به صورت خودکار با صفر مقدار دهی می‌شوند.

var a [5]int

//خط زیر تمامی اعضای ارایه را چاپ میکند.
  fmt.Println(“emp:”, a)

//خط زیر عدد عنصر چهارم آرایه را با ۱۰۰ مقدار دهی می‌کند.
  a[4] = 100

//توجه کنید که اندیس آرایه ها در زبان گو از صفر شروع می‌شود.

//دستور زیر تمامی عناصر آرایه را در یک سطر چاپ میکند
  fmt.Println(“set:”, a)

//دستور زیر عنصر پنجم آرایه را چاپ میکند(اندیسها از صفر شروع می‌شود.)
  fmt.Println(“get:”, a[4])

/*دستور زیر با استفاده از تابع len طول آرایه را چاپ میکند*/

 fmt.Println(“len:”, len(a))

//دستور زیر آریه را تعریف و مقدار دهی می‌کند.
  b := [5]int{1, 2, 3, 4, 5}

//دستور زیر تمامی عناصر آرایه را در یک سطر چاپ می‌کند
  fmt.Println(“dcl:”, b)

//دستور زیر یک آرایه دو بعدی با دو سطر و سه ستون تعریف می‌کند
  var twoD [2][3]int

/*حلقه های زیر آرایه دو بعدیtowD را پردازش و مقدار دهی می‌نمایند.*/

  for i := 0; i < 2; i++ {
    for j := 0; j < 3; j++ {
       twoD[i][j] = i + j
    }
   }
  fmt.Println(“2d: “, twoD)
}

به خروجی مثال دقت نمائید:

emp: [0 0 0 0 0]
set: [0 0 0 0 100]
get: 100
len: 5
dcl: [1 2 3 4 5]
۲d: [[0 1 2] [1 2 3]]

برای سفارش طراحی سایت و انواع پروژه‌های نرم افزاری با ما تماس بگیرید.

لطفا نظرات و انتقادات خود را با ما به اشتراک بگذارید.

 

Be the first to write a review

Leave a comment