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
Kubernetes Learning Path _ Version 2.0.pdf
2.6 MB
مسیر یادگیری کوبرنتیز از دید مایکروسافت.

در عرض 50 روز، مباحث مهم و بیسیک کوبرنیتز رو با استفاده از کورس های مایکروسافت یاد بگیرید!

اطلاعات بیشتر در ریپازیتوری زیر:

https://github.com/microsoft/kubernetes-learning-path


🔰 @gopher_academy
در حال حاضر از کدام سرویس های ابری زیر استفاده می کنید؟
Anonymous Poll
52%
Amazon Web Services
35%
Google Cloud Platform
16%
Microsoft Azure
🎯آشنایی با قوانین GRASP در برنامه نویسی شیء گرایی🎯

🔺 https://vrgl.ir/Qbhry

🔰 @gopher_academy
🎯نگاهی عمیق به تایپ های گولنگ🎯

🔹Type Aliases
🔹Basic Types
🔹Strings
🔹Pointers
🔹Pointers
🔹Interfaces
🔹Structs
🔹Type Assertions
🔹Reflection
🔹Functions
🔹Channels
🔹Collections
🔹Arrays
🔹Slices
🔹Maps
🔹Zero Values


🔰 @gopher_academy
Gopher Academy
🎯نگاهی عمیق به تایپ های گولنگ🎯 🔹Type Aliases 🔹Basic Types 🔹Strings 🔹Pointers 🔹Pointers 🔹Interfaces 🔹Structs 🔹Type Assertions 🔹Reflection 🔹Functions 🔹Channels 🔹Collections 🔹Arrays 🔹Slices 🔹Maps 🔹Zero Values 🔰 @gopher_academy
🔹گولنگ سیستم بسیار جالبی دارد. این امر به نفع رابط ها و ترکیبات از کلاس ها و وراثت قرار می گیرد ، اما از طرف دیگر ژنریک ندارد.

🔹در این آموزش با جزئیات تایپ سیستم Go و چگونگی استفاده موثر از آن برای نوشتن کد آشنا خواهید شد.

🔹تایپ سیستم Go از الگوی های رویه ای ، شی گرا و عملکردی پشتیبانی می کند. پشتیبانی بسیار محدودی از برنامه نویسی عمومی دارد. در حالی که Go یک زبان ثابت است ، اما انعطاف پذیری کافی را برای تکنیک های پویا از طریق رابط ها ، توابع کلاس فراهم می کند.
🔹تایپ سیستم Go فاقد قابلیت هایی است که در اکثر زبان های مدرن رایج است:

🔺هیچ نوع استثنائی وجود ندارد زیرا مدیریت خطاهای Go بر اساس کدهای بازگشت و رابط خطا است.
🔺بیش از حد عملگر وجود ندارد.
🔺هیچ بار اضافی در عملکرد وجود ندارد (همان نام عملکرد با پارامترهای مختلف).
🔺پارامترهای عملکرد اختیاری یا پیش فرض وجود ندارد.
🔺این موارد حذف شده همه با توجه به طراحی انجام می شود تا Go هرچه ساده تر شود.

🔰 @gopher_academy
Gopher Academy
🎯نگاهی عمیق به تایپ های گولنگ🎯 🔹Type Aliases 🔹Basic Types 🔹Strings 🔹Pointers 🔹Pointers 🔹Interfaces 🔹Structs 🔹Type Assertions 🔹Reflection 🔹Functions 🔹Channels 🔹Collections 🔹Arrays 🔹Slices 🔹Maps 🔹Zero Values 🔰 @gopher_academy
Type Aliases

می توانید alias types را در Go ایجاد کرده با تایپ های مختلف
اما بدون تبدیل ، نمی توانید مقداری از نوع اساسی را به یک نوع مستعار اختصاص دهید.
به عنوان مثال در تصویر فوق ، انتساب var b int = a در برنامه زیر باعث خطای تلفیقی می شود
زیرا نوع Age نام مستعار int است ، اما int نیست:

🔰 @gopher_academy
Gopher Academy
🎯نگاهی عمیق به تایپ های گولنگ🎯 🔹Type Aliases 🔹Basic Types 🔹Strings 🔹Pointers 🔹Pointers 🔹Interfaces 🔹Structs 🔹Type Assertions 🔹Reflection 🔹Functions 🔹Channels 🔹Collections 🔹Arrays 🔹Slices 🔹Maps 🔹Zero Values 🔰 @gopher_academy
Strings
یرای نمایش رشته های UTF8 encoded شده به Unicode character می توان از کتابخانه stringاستفاده کرد
در تصویر فوق یه مثال ساده رو مشاده می کنید که تمام کلمه رو میگیره و به حروف کوجک تبدیل می کنه و در آخر یه جمله رو نمایش میده

🔰 @gopher_academy
🦆Go 1.15.7 and 1.14.14 have been released!

A security fix for cmd/go (CVE-2021-3115),
and crypto/elliptic (CVE-2021-3114)

Announcement: https://t.co/aQSXeSqRXI

Download: https://t.co/17fc8GVik8

#golang
Gopher Academy
🎯نگاهی عمیق به تایپ های گولنگ🎯 🔹Type Aliases 🔹Basic Types 🔹Strings 🔹Pointers 🔹Pointers 🔹Interfaces 🔹Structs 🔹Type Assertions 🔹Reflection 🔹Functions 🔹Channels 🔹Collections 🔹Arrays 🔹Slices 🔹Maps 🔹Zero Values 🔰 @gopher_academy
Pointers
اشاره گر در گولنگ با * شروع میشه و برای دریافت مقدار از & استفاده میشه طبق کد فوق و اینکه مقدار zero value اشارگره در گو برابر nil هست

🔰 @gopher_academy
Gopher Academy
🎯نگاهی عمیق به تایپ های گولنگ🎯 🔹Type Aliases 🔹Basic Types 🔹Strings 🔹Pointers 🔹Pointers 🔹Interfaces 🔹Structs 🔹Type Assertions 🔹Reflection 🔹Functions 🔹Channels 🔹Collections 🔹Arrays 🔹Slices 🔹Maps 🔹Zero Values 🔰 @gopher_academy
Interfaces
اینترفیس ها مجموعه ای ازmethod signatures است.
رابط های خالی {} با هر نوع داده ای سازگار است و اغلب برای تایپ پویا استفاده می شود. اینترفیس ها همیشه اشاره گر هستند و همیشه به یک شی concrete مشخص اشاره می کنند.

🔰 @gopher_academy
Gopher Academy
🎯نگاهی عمیق به تایپ های گولنگ🎯 🔹Type Aliases 🔹Basic Types 🔹Strings 🔹Pointers 🔹Pointers 🔹Interfaces 🔹Structs 🔹Type Assertions 🔹Reflection 🔹Functions 🔹Channels 🔹Collections 🔹Arrays 🔹Slices 🔹Maps 🔹Zero Values 🔰 @gopher_academy
Structs
درواقع Structs یک ساختار شامل فیلدهای نامگذاری شده است که ممکن است انواع اساسی ، انواع نشانگر یا انواع دیگر ساختارها باشد.

🔰 @gopher_academy
Forwarded from Mehdi Samadani
استخدام برنامه نویس
شرکت ارائه دهنده خدمات هوشمندسازی حمل و نقل
واقع در اصفهان
hr@2lphin.com
2lphin.com
Forwarded from Mamadeus
شرکت de-fitec که در حوزه های مختلف در هند و آمریکا مشغول به کار است , برای تکمیل تیم نرم افزاری خود برای کار در زمینه بلاک چین به برنامه نویس با تجربه کاری go و همچنین python نیازمند است .
درصورت علاقه به همکاری می‌توانید رزومه خود را از روش‌های زیر برای ما ارسال کنید:
mohammad@de-fitech.com
09366275305 telegram
وبسایت شرکت‌:
https://de-fitech.com/
#go
#python
Gopher Academy
🎯نگاهی عمیق به تایپ های گولنگ🎯 🔹Type Aliases 🔹Basic Types 🔹Strings 🔹Pointers 🔹Pointers 🔹Interfaces 🔹Structs 🔹Type Assertions 🔹Reflection 🔹Functions 🔹Channels 🔹Collections 🔹Arrays 🔹Slices 🔹Maps 🔹Zero Values 🔰 @gopher_academy
Type Assertions
توی این روش در خط شیش ما نوع تایپ خود را نمی دانیم چیه پس برای این کار از interface استفاده می کنیم که خود جزو تایپ های گو هست و تمام تایپ ها رو توی خود جا می دهد

🔰 @gopher_academy
Gopher Academy
🎯نگاهی عمیق به تایپ های گولنگ🎯 🔹Type Aliases 🔹Basic Types 🔹Strings 🔹Pointers 🔹Pointers 🔹Interfaces 🔹Structs 🔹Type Assertions 🔹Reflection 🔹Functions 🔹Channels 🔹Collections 🔹Arrays 🔹Slices 🔹Maps 🔹Zero Values 🔰 @gopher_academy
Reflection
بسته Go reflect به شما امکان می دهد نوع رابط را بدون استفاده از type assertions مستقیماً بررسی کنید. در صورت تمایل می توانید مقدار یک رابط را استخراج کنید

در اینجا یک مثال مشابه با مثال قبلی وجود دارد ، اما به جای چاپ رشته ها ، آنها را فقط می شمارد ، بنابراین نیازی به تبدیل از رابط {} به رشته نیست. کلید فراخوانی Reflect.Type () برای بدست آوردن یک نوع شی است که دارای متد Kind () است که به ما امکان می دهد تشخیص دهیم که آیا با یک رشته روبرو هستیم یا نه.

🔰 @gopher_academy
🎯اگه روی یه پروژه ای کار می کنید و هرروز بعد از هر تغیری push می کنید روی گیت
و بعد هر تغییری ازتون معمولا رمزعبور رو میخواد
با دستور زیر دیگه نیاز به زدن رمز عیور ندارید
فقط بزنید push خودش میره توی ریپو میشینه
و دیگه نیاز نیست بعد از هر تغییری رمزعبور رو بزنید
🔹 git config credential.helper store
🔹 git push http://example.com/your-user-name/your-repo.git
.
#git #github
.

🔰 @gopher_academy