Gopher Academy
3.34K subscribers
918 photos
40 videos
279 files
2K links
🕸 Gopher Academy

🔷interview golang
https://github.com/mrbardia72/Go-Interview-Questions-And-Answers

حمایت مالی:
https://www.coffeete.ir/mrbardia72

ادمین:
@mrbardia72
Download Telegram
🎯اگر بافر پر باشد ، عنصری که باید نوشته شود ، در ساختار گوروتین در حال اجرا ذخیره می شود.🎯
🔹درک بهتری از شماره چهار از خلاصه روند ارسال در کانال ها
دوباره بخوانید شماره چهار رو ، به همین دلیل است که کانال غیر بافر در واقع "unbuffered" نامیده می شود حتی اگر ساختار "hchan" دارای عنصر "buf" باشد. 🔹اگر برای یک کانال غیر بافر گیرنده ای وجود نداشته باشد و بخواهید داده ارسال کنید ، داده ها در elem ساختار sudog ذخیره می شوند. (برای کانال بافر نیز صدق می کند).
بگذارید مثالی بزنم تا جزئیات بیشتر نکته شماره 4 را روشن کنید. فرض کنید کد زیر را داریم.👇🏻👇🏻👇🏻👇🏻

🔰 @gopher_academy
🎯ساختار زمان اجرای chan c2 در خط شماره 10 چگونه خواهد بود؟🎯

🔰 @gopher_academy
🎯runtime unbuffered🎯

🔰 @gopher_academy
Gopher Academy
🎯ساختار زمان اجرای chan c2 در خط شماره 10 چگونه خواهد بود؟🎯 🔰 @gopher_academy
🔹از آنجا که goroutineA سعی داشت مقدار را به کانال c2 ارسال کند و هیچ گیرنده ای آماده وجود ندارد ، بنابراین goroutineA به لیست sendq کانال c2 اضافه می شود و با مسدود شدن اصطلاحا پارک می شود. بعدش برای تأیید می تواند ساختار زمان اجرای sendq مسدود کننده را بررسی کنیم.

🔰 @gopher_academy
🎯به یاد داشته باشید تمام انتقال مقادیر کانال ها در حال انتقال با کپی مقدار اتفاق می افتد.🎯

🔰 @gopher_academy
🎯خروجی کد فوق🎯
&{Ankur 25}
modifyUser Received Value &{Ankur Anand 100}
printUser goRoutine called &{Ankur 25}
&{Anand 100}

🔰 @gopher_academy
🎯شمای عملکرد کد فوق- با توضیحات که داده شده بسیار واضح هست🎯

🔰 @gopher_academy
Gopher Academy
🎯قسمت پایانی از این سری فردا🎯 🔷Receive Opertaion Steps <- ch 🔸select channel Example 🔸scase structure 🔸poll order 🔸park goroutine in select case 🔰 @gopher_academy
🎯scase structure🎯
هر scase در آرایه scases یک ساختار است که شامل نوع عملکرد فعلی کانال می باشد که روی آن کار می کند. منظور از عملگرد همان حالت قفل بودن یا نبود کانال می باشد

🔰 @gopher_academy
🎯poll order🎯
این یه روش نظرسنجی مانند هست که چک کند وضعیت هر کانال را که کدام الان آماده برای ارسال داده می باشد یعنی بافر خالی الان دارد که بتوان داده ای در آن کانال ارسال کرد

🔰 @gopher_academy
Gopher Academy
🎯قسمت پایانی از این سری فردا🎯 🔷Receive Opertaion Steps <- ch 🔸select channel Example 🔸scase structure 🔸poll order 🔸park goroutine in select case 🔰 @gopher_academy
🎯park goroutine in select case🎯
توی ااین شبه کد اگر هیج داده ای روی کانال نباشد وضعیت گورتین به حالت انتظار برای دریافت می رود

🔰 @gopher_academy
🎯🎯🎯ابن قسمت از سری آموزش سفر به اعماق channel ها در گولنگ به پابان رسید 🎯🎯🎯
👉🏻 https://t.me/gopher_academy/276

🔰 @gopher_academy
This media is not supported in your browser
VIEW IN TELEGRAM
🎯 Floating Point Math🎯

🔷در بسیاری از زبان های برنامه نویسی مشکلی تحت عنوان Floating Point Math وجود دارد که به مشکل ذخیره سازی اعداد برمیگرده. نتیجه میشه:
0.1 + 0.2 != 0.3

👇🏻👇🏻code👇🏻👇🏻

func main() {
fmt.Println(.1 + .2)
var a float64 = .1
var b float64 = .2
fmt.Println(a + b)
fmt.Printf("%.54f\n", .1 + .2)
}

link
: Floating Point Math


🔰 @gopher_academy
🎯🎯🎯
🔷دورد دوستان
🔷بنده قرار توی این دوره یا مجموعه مقالاتی که قرار منتشر کنم. میخوام در مورد Gin Web Framework صحبت کنم.
🔷در واقع می خوام از صفر تا صد این فرم ورک رو بهتون اموزش بدم.
🔷تمام آموزش ها رو توی ویرگول قرار میدم
🎯🎯🎯

🔰 @gopher_academy
1
🎯قسمت اول شروع کار با Gin Web Framework🎯
.

🔸 https://vrgl.ir/iPhoQ
.
#gin

🔰 @gopher_academy
This media is not supported in your browser
VIEW IN TELEGRAM
واسه فرانت کارهاتون از کدوم استفاده می کتید؟
Final Results
50%
Vue
38%
React
19%
Angular
🎯قسمت دوم کار با Gin Web Framework🎯
🔷 فهرست بخش دوم از این مقاله
🔸Using GET, POST, PUT, PATCH, DELETE and OPTIONS
🔸Parameters in path
🔸Querystring parameters
.

🔴 https://vrgl.ir/eZW4m
.
#gin

🔰 @gopher_academy
🎯قسمت سوم کار با Gin Web Framework 🎯
🔹فهرست بخش سوم از این مقاله

🔸Multipart/Urlencoded Form
🔸Map as querystring or postform parameters
🔸Upload files (Single file)
🔸Upload files (Multiple files)
.
🔴 https://vrgl.ir/wXpwI
.
#gin

🔰 @gopher_academy