❌generic collections❌
یعنی هر نوع دادهای را می توانید ذخیره کنید
🔹arrays
🔹slices
🔹maps
🔹Channels
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
یعنی هر نوع دادهای را می توانید ذخیره کنید
🔹arrays
🔹slices
🔹maps
🔹Channels
➖➖➖➖➖➖➖➖➖
🔰 @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
❌ Slices ❌
آرایه ها به دلیل اندازه ثابت بسیار محدود هستند. اما Slices ها خیلی جالب ترند. شما می توانید Slices ها را به عنوان آرایه های پویا در نظر بگیرید.
بهتره بجای array از Slices استفاده کنید توی پروژه هاتون به دلیل کنترل gerber collector
➖➖➖➖➖➖➖➖
🔰 @gopher_academy
آرایه ها به دلیل اندازه ثابت بسیار محدود هستند. اما Slices ها خیلی جالب ترند. شما می توانید Slices ها را به عنوان آرایه های پویا در نظر بگیرید.
بهتره بجای array از Slices استفاده کنید توی پروژه هاتون به دلیل کنترل gerber collector
➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
❌ Slices ❌ آرایه ها به دلیل اندازه ثابت بسیار محدود هستند. اما Slices ها خیلی جالب ترند. شما می توانید Slices ها را به عنوان آرایه های پویا در نظر بگیرید. بهتره بجای array از Slices استفاده کنید توی پروژه هاتون به دلیل کنترل gerber collector ➖➖➖➖➖➖➖➖ 🔰 @gopher_academy
👆🏻👆🏻توضیحات بیشتر👆🏻👆🏻
از طرف دیگر ، Slices ها بسیار انعطاف پذیر ، قدرتمند و راحت تر از آرایه ها هستند. بر خلاف آرایه ها ، می توان Slices ها را با استفاده از تابع ضمیمه داخلی تعبیه کرد. بعلاوه ، Slices از نوع مرجع یا refrence هستند ، بدین معنی که اختصاص آنها کم هزینه است و می توانند بدون نیاز به ایجاد نسخه جدیدی از آرایه اصلی آن ، به سایر توابع منتقل شوند. سرانجام ، توابع موجود در کتابخانه استاندارد Go ، همه از Slices به جای آرایه ها در API های عمومی خود استفاده می کنند.
➖➖➖➖➖➖➖➖
🔰 @gopher_academy
از طرف دیگر ، Slices ها بسیار انعطاف پذیر ، قدرتمند و راحت تر از آرایه ها هستند. بر خلاف آرایه ها ، می توان Slices ها را با استفاده از تابع ضمیمه داخلی تعبیه کرد. بعلاوه ، Slices از نوع مرجع یا refrence هستند ، بدین معنی که اختصاص آنها کم هزینه است و می توانند بدون نیاز به ایجاد نسخه جدیدی از آرایه اصلی آن ، به سایر توابع منتقل شوند. سرانجام ، توابع موجود در کتابخانه استاندارد Go ، همه از Slices به جای آرایه ها در API های عمومی خود استفاده می کنند.
➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
👆🏻👆🏻توضیحات بیشتر👆🏻👆🏻 از طرف دیگر ، Slices ها بسیار انعطاف پذیر ، قدرتمند و راحت تر از آرایه ها هستند. بر خلاف آرایه ها ، می توان Slices ها را با استفاده از تابع ضمیمه داخلی تعبیه کرد. بعلاوه ، Slices از نوع مرجع یا refrence هستند ، بدین معنی که اختصاص آنها…
👆🏻👆🏻👆🏻👆🏻
❌ این Slices ها را می توان با استفاده از نحوهای زیر ایجاد کرد:
🔹make([]Type, length, capacity)
🔹make([]Type, length)
🔹[]Type{}
🔹[]Type{value1, value2, ..., valueN}
➖➖➖➖➖➖➖➖
🔰 @gopher_academy
❌ این Slices ها را می توان با استفاده از نحوهای زیر ایجاد کرد:
🔹make([]Type, length, capacity)
🔹make([]Type, length)
🔹[]Type{}
🔹[]Type{value1, value2, ..., valueN}
➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
❌Arrays❌ آرایه ها مجموعه هایی با اندازه ثابت از عناصر یک نوع هستند. ➖➖➖➖➖➖➖➖➖ 🔰 @gopher_academy
👆🏻👆🏻👆🏻👆🏻
❌ این Arrays ها را می توان با استفاده از نحوهای زیر ایجاد کرد:
🔹[N]Type
🔹[N]Type{value1, value2, ..., valueN}
🔹[...]Type{value1, value2, ..., valueN}
➖➖➖➖➖➖➖➖
🔰 @gopher_academy
❌ این Arrays ها را می توان با استفاده از نحوهای زیر ایجاد کرد:
🔹[N]Type
🔹[N]Type{value1, value2, ..., valueN}
🔹[...]Type{value1, value2, ..., valueN}
➖➖➖➖➖➖➖➖
🔰 @gopher_academy
❌کارگاه برنامهنویسی وب دانشگاه صنعتی شریف❌
🥳حتما به نگاهی کنید جالبه
🔹Angular
🔹CI-CD
🔹CSS
🔹ChartJS
🔹Docker
🔹Flutter
🔹GraphQl
🔹HTML
🔹JavaScript
🔹Kubernetes
🔹React
🔹Redux
🔹Restful-API
🔹Statics
🔹TypeScript
🔴 https://github.com/mostafaghadimi/web_workshop
➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🥳حتما به نگاهی کنید جالبه
🔹Angular
🔹CI-CD
🔹CSS
🔹ChartJS
🔹Docker
🔹Flutter
🔹GraphQl
🔹HTML
🔹JavaScript
🔹Kubernetes
🔹React
🔹Redux
🔹Restful-API
🔹Statics
🔹TypeScript
🔴 https://github.com/mostafaghadimi/web_workshop
➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy pinned «🎯 درود دوستان بنده قصد دارم توی ریپوی زیر از تجربیاتی که دیگران توی مصاحبه گولنگ داشتن رو جمع آوری کنم.🎯 🎯 پس دوستانی که مصاحبه گولنگ داشتن برامون توی ریپوی زیر pull request بزنن تا به اشتراک بزاریم برای سایر افراد ی که وارد این حوزه میشن🎯 🙏🏿❤️🙏🏿 🔗 ht…»
🤔🎯new() vs make()🎯🤔
🔹تابع make یک توابع داخلی است (special built-in function) که برای مقداردهی اولیه Slices ها ، map ها و channel ها استفاده می شود.
🔹توجه داشته باشید که از make فقط می توان برای مقداردهی اولیه Slices ها ، map ها و channel ها استفاده کرد و برخلاف new ، این make اشاره گر را بر نمی گرداند.
➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔹تابع make یک توابع داخلی است (special built-in function) که برای مقداردهی اولیه Slices ها ، map ها و channel ها استفاده می شود.
🔹توجه داشته باشید که از make فقط می توان برای مقداردهی اولیه Slices ها ، map ها و channel ها استفاده کرد و برخلاف new ، این make اشاره گر را بر نمی گرداند.
➖➖➖➖➖➖➖➖
🔰 @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
❌Maps❌
درواقع map ها مجموعه ای از جفت های مقدار-کلید هستند.
🔴کلید نمیتونه هر نوعی باشه
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
درواقع map ها مجموعه ای از جفت های مقدار-کلید هستند.
🔴کلید نمیتونه هر نوعی باشه
➖➖➖➖➖➖➖➖➖
🔰 @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
❌ zero values: ❌
🔹 0 for all integer types,
🔹 0.0 for floating point numbers,
🔹 false for booleans,
🔹 "" for strings,
🔹 nil for interfaces, slices, channels, maps, pointers and functions.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔹 0 for all integer types,
🔹 0.0 for floating point numbers,
🔹 false for booleans,
🔹 "" for strings,
🔹 nil for interfaces, slices, channels, maps, pointers and functions.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🎯ویژگی های شی گرایی در گولنگ 🎯
🔹Struct
🔹Method
🔹Embedding
🔹Encapsulation
🔹Interface
🔹Inheritance
🔹Polymorphism
🔹Conclusion
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔹Struct
🔹Method
🔹Embedding
🔹Encapsulation
🔹Interface
🔹Inheritance
🔹Polymorphism
🔹Conclusion
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔴آکادمی علیبابا، در سری برنامههای علیبابا تاک، به بیان چالشها و تجربیات علیباباییها میپردازه. این بار، رضا کمالیفرد، از تیم فنی شرکت سفرهای علیبابا، در مورد سیستم ریت لیمیتر و پیادهسازی اون در علیبابا صحبت میکنه.
🔴علیبابا بزرگترین ارائهدهنده خدمات گردشگری در ایران هست و ای پی آی هایی داره که در اونها اطلاعات مربوط به بلیتهای سفر رو نگه میداره. توی این تاک، داستان دوباره ساختن ملوان زبل،ریت لیمیتر علی بابا، که به جنگ باتها و درخواستهای مخربی که به سمت این ای پی آیها میان، رفته و اونها رو از سر راه برداشته، بیان میشه.
https://m.youtube.com/watch?v=y6y7h8nYDj8
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔴علیبابا بزرگترین ارائهدهنده خدمات گردشگری در ایران هست و ای پی آی هایی داره که در اونها اطلاعات مربوط به بلیتهای سفر رو نگه میداره. توی این تاک، داستان دوباره ساختن ملوان زبل،ریت لیمیتر علی بابا، که به جنگ باتها و درخواستهای مخربی که به سمت این ای پی آیها میان، رفته و اونها رو از سر راه برداشته، بیان میشه.
https://m.youtube.com/watch?v=y6y7h8nYDj8
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
YouTube
Alibaba Talk: Alibaba Rate-limiter - Reza KamaliFard
آکادمی علیبابا، در سری برنامههای علیبابا تاک، به بیان چالشها و تجربیات علیباباییها میپردازه. این بار، رضا کمالیفرد، از تیم فنی شرکت سفرهای علیبابا...
🔸استخدام Back-end Developer(Go Lang) در شرکت boomerang
🔹تماموقت
🔹ارشد (Senior)
🔗 https://quera.ir/r/G5qHpd
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔹تماموقت
🔹ارشد (Senior)
🔗 https://quera.ir/r/G5qHpd
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Clean architecture #نشست دهم در گولنگ
❌محمد صباغ
❌پنجشنبه ۹ بهمن ساعت ۱۹ از
یوتوب:
https://youtu.be/bQepxgcBdTI
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
❌محمد صباغ
❌پنجشنبه ۹ بهمن ساعت ۱۹ از
یوتوب:
https://youtu.be/bQepxgcBdTI
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
🎯ویژگی های شی گرایی در گولنگ 🎯 🔹Struct 🔹Method 🔹Embedding 🔹Encapsulation 🔹Interface 🔹Inheritance 🔹Polymorphism 🔹Conclusion ➖➖➖➖➖➖➖➖➖ 🔰 @gopher_academy
❌Structs❌
ساختار یا Structures برای نشان دادن مجموعه ای از فیلد ها به کار میروند
با استفاده از این دستور می توانید مجموعه ای از فیلد های با تایپ مختلف ایجاد کنید
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
ساختار یا Structures برای نشان دادن مجموعه ای از فیلد ها به کار میروند
با استفاده از این دستور می توانید مجموعه ای از فیلد های با تایپ مختلف ایجاد کنید
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
🎯ویژگی های شی گرایی در گولنگ 🎯 🔹Struct 🔹Method 🔹Embedding 🔹Encapsulation 🔹Interface 🔹Inheritance 🔹Polymorphism 🔹Conclusion ➖➖➖➖➖➖➖➖➖ 🔰 @gopher_academy
❌Methods❌
در زبان گو توابع می توانند انواع تابپی ها مختلفی رو بگیرین و بسته به نیاز خروجی متفاوتی رو برامون نتیجه بدن
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
در زبان گو توابع می توانند انواع تابپی ها مختلفی رو بگیرین و بسته به نیاز خروجی متفاوتی رو برامون نتیجه بدن
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
❌د GOPATH چیست؟❌
درواقع GOPATH یه متغیر محیطی و یک environment variable است.
در واقع GOPATH مسیر مشخص workspace ما داخل environment variable است.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
درواقع GOPATH یه متغیر محیطی و یک environment variable است.
در واقع GOPATH مسیر مشخص workspace ما داخل environment variable است.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
❌مسیر جاری GOPATH کجا است؟❌
go env
اگر go env را داخل command line وارد کنیم و سپس اینتر بزنیم، environment variable های Go را به ما نشان میدهد و از آنجا میتوانیم مسیر جاری GOPATH را مشاهده کنیم.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
go env
اگر go env را داخل command line وارد کنیم و سپس اینتر بزنیم، environment variable های Go را به ما نشان میدهد و از آنجا میتوانیم مسیر جاری GOPATH را مشاهده کنیم.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
❌ساختار GOPATH به چه صورت است؟❌
🔹برای نگه داشتن کدهای منبع، دایرکتوری سورس (src) را داریم.
🔹برای نگه داشتن پکیج های آبجکت یا پکیج هایی که اشیاء هستند، دایرکتوری پکیج (pkg) را داریم.(زمانی که کدها را نصب می کنیم، پکیج های اشیاء ( واردات ) بصورت خودکار در دایرکتوری pkg ذخیره می شوند)
🔹برای نگه داشتن کامندهای کامپایل شده و فایل های باینری دایرکتوری باینری (bin) را داریم. (زمانی که کدها را نصب می کنیم، کدها بصورت خودکار در دایرکتوری bin ذخیره می شوند)
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔹برای نگه داشتن کدهای منبع، دایرکتوری سورس (src) را داریم.
🔹برای نگه داشتن پکیج های آبجکت یا پکیج هایی که اشیاء هستند، دایرکتوری پکیج (pkg) را داریم.(زمانی که کدها را نصب می کنیم، پکیج های اشیاء ( واردات ) بصورت خودکار در دایرکتوری pkg ذخیره می شوند)
🔹برای نگه داشتن کامندهای کامپایل شده و فایل های باینری دایرکتوری باینری (bin) را داریم. (زمانی که کدها را نصب می کنیم، کدها بصورت خودکار در دایرکتوری bin ذخیره می شوند)
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy