Go (همچنین به نام Golang یا Go Language) یک زبان برنامه نویسی متن باز است که برای اهداف عمومی استفاده می شود. Go توسط مهندسان گوگل برای ایجاد نرم افزار قابل اعتماد و کارآمد توسعه داده شد.
این زبان با الهام از بهرهوری و سادگی نسبی پایتون، با توانایی C طراحی شده است. برخی از مشکلاتی که Go به آنها رسیدگی میکند، زمان ساخت کند، وابستگیهای کنترلنشده، تکرار ، دشواری نوشتن ابزارهای خودکار و توسعه بین زبانی است. . Go همچنین از مجموعه ای از بسته ها برای مدیریت وابستگی کارآمد استفاده می کند.
برخی از نمونههای سازمانهایی که از Go استفاده میکنند عبارتند از: Google، Cloudflare، Dropbox، MongoDB، Netflix، SoundCloud، Twitch و Uber.
Go شامل تعدادی ویژگی مانند کتابخانه استاندارد، مدیریت بسته، تایپ استاتیک، پشتیبانی از تست و همچنین استقلال پلت فرم آن است. کتابخانه استاندارد Go مبتنی بر استفاده از بسته های توزیع شده است. مدیریت بسته به نحوه مدیریت Go پشتیبانی از مدیریت بسته مبتنی بر کاربر و بسته های خارجی اشاره دارد. بسته ها را می توان با استفاده از مجموعه کوچکی از دستورات منتشر کرد. تایپ ایستا یک سیستم نوع است که تبدیل و سازگاری را تضمین می کند و در عین حال از مشکلاتی که با زبان های تایپ شده پویا وجود دارد اجتناب می کند. Go همچنین از تست های واحد برای اجرای موازی با کد نوشته شده پشتیبانی می کند. علاوه بر این، به دلیل طراحی ماژولار Go، کد را می توان تقریباً در هر پلتفرمی کامپایل کرد.
به طور خاص، Go از فرآیندهای سبکی استفاده می کند که پردازش همزمان را ممکن می کند. Golang رابط های ترکیبی را ترجیح می دهد. برخی از ابزارهای Go که ارزش برجسته کردن دارند عبارتند از ویژگی "Gofmt" آن که به صورت خودکار کد را برای خوانایی قالب بندی می کند، "Go run" که همزمان کد را کامپایل و اجرا می کند، "Go get" که به طور یکپارچه با GitHub ادغام می شود و "Godoc" که بر اساس HTML تولید می کند.
استفاده از Go بیش از سایر زبان های برنامه نویسی دارای چندین مزیت است، مانند:
برخی از اشکالات احتمالی عبارتند از:
Go توسط تیم های مختلف توسعه نرم افزار و در نرم افزارهای مختلف استفاده می شود. برنامههایی که از Go استفاده میکنند شامل سرویسهای کانتینری مانند Docker و Kubernetes، سرویسهای ابری مانند Terraform و OpenShift، ابزارهای ارکستراسیون خدمات مانند Juju، و برنامههای کاربردی دیگر مانند شبکههای بیتکوین - برای مثال، Lightning Network هستند.
شرکت هایی که از زبان برنامه نویسی Go استفاده می کنند عبارتند از :
Couchbase که از Go for Query و Indexing استفاده می کند.
Dropbox که از Python به Go تغییر کرد.
MongoDB، برای ابزارهای مربوط به نمونه های MongoDB؛
و نتفلیکس با برخی از معماری های سرورش.
Golang دارای ویژگی های قابل مقایسه با سایر زبان های برنامه نویسی است اما یک جایگزین کلی منحصر به فرد ارائه می دهد. هدف اصلی طراحی Go، بر خلاف برخی از زبان های رایج دیگر، تسهیل کامپایل سریع است. در مقایسه با C++، Go مقدار خطاها و وابستگی های زمان اجرا را کاهش می دهد و در عین حال ایمنی حافظه و مدیریت حافظه را افزایش می دهد. روبی رویکرد ایمنتری ارائه میکند، اما به یک مفسر نیاز دارد و کامپایل آن زمان بیشتری میبرد. جاوا یکی دیگر از زبان های برنامه نویسی محبوب است. با این حال، برای اجرای کد به یک ماشین مجازی نیاز دارد. Go این ضرورت را از بین می برد و با پیچیدگی و پرحرفی خود کد جاوا مبارزه می کند. درمورد زبان های برنامه نویسی پرکاربرد بیشتر بخوانید.
زمانی که توسعه دهندگان زبان برنامه نویسی مناسبی برای توسعه وب، توسعه فرانت اند، برنامه نویسی خط فرمان و برنامه های کاربردی سرور شبکه می خواهند، در Go کدنویسی کنند. به دلیل زمان راه اندازی سریع زبان Go، سربار زمان اجرا کم و توانایی اجرای بدون ماشین مجازی، Go به زبان بسیار محبوبی برای نوشتن میکروسرویس ها تبدیل شده است. علاوه بر این، Go همچنین می تواند برای برنامه نویسی همزمان استفاده شود - یک استراتژی برای اجرای چندین کار در یک زمان. در مورد نحوه مقایسه Go با تعداد دفعات استفاده و رتبهبندی سایر زبانهای برنامه، Go اغلب در پایین یا وسط ده فهرست برتر برای پرتقاضاترین و محبوبترین زبانهای برنامهنویسی رتبهبندی میشود - معمولاً درست پس از سایر زبانهای شناخته شده مانند جاوا اسکریپت. و پایتون
از اینجا دانلود کنید.