Skip to content

Commit

Permalink
Update 1.12-packages-import.md
Browse files Browse the repository at this point in the history
تصحیح متن
اضافه کردن چند مثال
  • Loading branch information
r3a70 committed May 25, 2023
1 parent 848081b commit 219c86b
Showing 1 changed file with 23 additions and 3 deletions.
26 changes: 23 additions & 3 deletions content/chapter 1/1.12-packages-import.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ func main() {
```

تعریف کردن توابع به این شکل مزایای زیادی دارد از جمله:
- اگر اسم های مشابهی داشته باشید، داخل پکیج‌های مختلف می‌توانید از آن‌ها استفاده کنید و خوانایی برنامه افزایش پیدا میکند و باعث می‌شود از نام‌های طولانی استفاده نکنیم.
- مجموعه کدی که مربوط به هم هستن را در یک پکیج می‌توانیم قرار دهیم. و پیدا کردن و استفاده مجدد را برای ما راحتر می‌کند.
- اگر اسم های مشابهی داشته باشید، داخل پکیج‌های مختلف می‌توانید از آن‌ها استفاده کنید, همچنین خوانایی برنامه افزایش پیدا میکند و باعث می‌شود از نام‌های طولانی استفاده نکنیم.
- مجموعه کد هایی که مربوط به هم هستن را در یک پکیج می‌توانیم قرار دهیم, که باعث میشود پیدا کردن و استفاده مجدد از کد را برای ما راحتر کند.
- فرایند تغییر و کامپایل را می‌تواند به حداقل برساند.

### 1.12.2.1 اضافه کردن چندین پکیج
Expand All @@ -57,7 +57,7 @@ import "math"
import "math/rand"
```

اما با تشکر از گو ما میتوانیم کلیدواژهایی که قرار است بیشتر از یک بار اجرا شوند را به شکل زیر نیز تعریف کنید:
اما با تشکر از زبان گو, ما میتوانیم چندین پکیج رو به صورت زیر و فقط با یک بار نوشتن کلید واژه `import` قراخوانی کنیم:

```go
import (
Expand All @@ -70,6 +70,26 @@ import (

یعنی یک بار از کلیدواژ import استفاده کنیم و بعد اسم پکیج ها را به ترتیب داخل آن بنویسیم.

همینطور ما میتونیم به پکیج هایی که `import` کردیم یک `alias` هم بدیم, یعنی همون `اسم مستعار`, به مثال زیر توجه کنید:

```go
import (
format "fmt"
)
```

و مانند مثال زیر ازشون استفاده کنیم:‌

```go
package main

import format "fmt"

func main() {
format.Println("Hello from Gofarsi")
}
```

## 1.12.3 اسم های عمومی و خصوصی (Export و Unexport)

همه توابع، متغیر‌ها و تایپ ‌هایی که تعریف میکنید اگر اول حرف اسم‌ها را بزرگ بزارید به این منظور است که آن را به صورت عمومی تعریف کرده اید و خارج از پکیج آن تابع، متغیر یا تایپ قابل دسترسی است. و اگر شما حرف اول اسم توابع، متغیرها و تایپ‌هایی که تعریف کردید را کوچک بگذارید به این معنی است که فقط داخل این پکیج آن تابع، متغیر یا تایپ قابل تعریف و استفاده است و خارج از پکیج قابل استفاده نیست.
Expand Down

0 comments on commit 219c86b

Please sign in to comment.