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 authored May 25, 2023
1 parent 848081b commit 80ae4c0
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions content/chapter 1/1.12-packages-import.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,9 @@ import (

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

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

برای مثال کد زیر را مشاهده کنید:
برای مثال به کد زیر نگاه کنید:

```go
package main
Expand All @@ -89,9 +89,9 @@ func main() {
}
```

در کد بالا ما از دو پکیج fmt و math استفاده کردیم. تابع Println از پکیج fmt به دلیل اینکه اولین حرف آن بزرگ است ما می‌توانیم داخل پکیج main خود از آن تابع استفاده کنیم. و برای پکیج math دقیقا بخاطر آنکه اول حرف MaxInt64 بزرگ است می‌توانیم از آن استفاده کنیم.
در کد بالا ما از دو پکیج fmt و math استفاده کردیم. به دلیل اینکه اولین حرف تابع Println از پکیج fmt بزرگ است ما می‌توانیم داخل پکیج main خود از آن تابع استفاده کنیم, و همینطور برای پکیج math هم به همین دلیل.

حالا فرض کنیم که داخل پکیج math ما می‌خواهیم عدد pi را برگردانیم و ممکن است این متغییر فقط داخل این پکیج تعریف شده باشد پس اگر کاراکتر اول را به صورت کوچک بذاریم با خطا مواجه خواهیم شد:
حالا فرض کنیم که داخل پکیج math ما می‌خواهیم عدد pi را برگردانیم و ممکن است این متغییر فقط داخل این پکیج تعریف شده باشد, پس اگر کاراکتر اول را به صورت کوچک بذاریم با خطا مواجه خواهیم شد:

```go
package main
Expand All @@ -115,15 +115,15 @@ Go build failed.

## 1.12.4 اضافه کردن پکیج‌های 3rd party

فرض کنید می‌خواهیم از پکیج [ Gin (github.com)](https://github.com/gin-gonic/gin) می‌خواهیم استفاده کنیم برای اضافه کردن این پکیج ما ‌می‌توانیم به دو شکل زیر آن را اضافه کنیم.
فرض کنید می‌خواهیم از پکیج [ Gin (github.com)](https://github.com/gin-gonic/gin) استفاده کنیم, برای اضافه کردن این پکیج ما ‌می‌توانیم به دو شکل زیر آن را اضافه کنیم.


داخل پروژه خود از دستور زیر استفاده کنید:
```bash
$ go get -u github.com/gin-gonic/gin
```

بعدا می‌توانید وارد پروژه خود شوید و با کلید واژه import از آن استفاده کنید به شکل زیر :
بعدا می‌توانید وارد پروژه خود شوید و با کلید واژه import از آن استفاده کنید. به مثال زیر نگاه کنید :

```go
package main
Expand All @@ -145,9 +145,9 @@ func main() {
}
```

حالت دیگر استفاده از go mod tidy است به این شکل که ما از دستور go get استفاده نمیکنیم. و همان مستقیم داخل پروژه آدرس gin را داخل import وارد میکنیم.
حالت دیگر استفاده از `go mod tidy` است, به این شکل که ما از دستور `go get` استفاده نمیکنیم و به صورت مستقیم داخل پروژه آدرس gin را import میکنیم.

و همان ابتدا داخل کد یک فانکشن را با همان پکیج فراخوانی میکنیم (اینکار لازم است چون همانطور که می دانید خود go tool وقتی بداند شما پکجی را تعریف کردید و استفاده نکردید آن را اتوماتیک پاک میکند.)
و همان ابتدا داخل کد یک فانکشن را از همان پکیج فراخوانی میکنیم (اینکار لازم است چون همانطور که می دانید خود go tool وقتی بداند شما پکجی را تعریف کردید و استفاده نکردید آن را اتوماتیک پاک میکند. البته که کد ادیتور های معروف هم مانند `goland,vsCode` وغیره, همین کارو رو در حین نوشتن کد برای شما انجام میدهند.)

سپس از دستور زیر استفاده میکنیم:
```bash
Expand Down

0 comments on commit 80ae4c0

Please sign in to comment.