Async / Await in Golang: یک راهنمای مقدماتی

عکس پروفایل نویسنده

@hasantalksدکتر احد حسن

مهندس نرم افزار ، https://kickbackapps.com

Golang یک زبان برنامه نویسی همزمان است. این ویژگی های قدرتمند مانند

Goroutines

و

Channels

که می تواند وظایف ناهمزمان را به خوبی انجام دهد. همچنین ، goroutines رشته های سیستم عامل نیستند ، و به همین دلیل است که می توانید هر تعداد goroutine که می خواهید بدون سربار زیاد بچرخانید ، اندازه پشته از این شروع می شود 2 کیلوبایت فقط. پس چرا

async/await

؟ Async / Await یک ویژگی زبان خوب است که رابط کاربری ساده تری را برای برنامه نویسی ناهمزمان فراهم می کند.

پیوند پروژه: https://github.com/Joker666/AsyncGo-Demo

چگونه کار می کند؟

با F # و سپس C # شروع شد ، اکنون در پایتون و Javascript ، async / انتظار ویژگی بسیار محبوب یک زبان است. این ساختار اجرای روش ناهمزمان را ساده می کند و مانند کد همزمان خوانده می شود. پیگیری برای توسعه دهندگان بسیار ساده تر است. بیایید یک مثال ساده در C # ببینیم که async / انتظار چگونه کار می کند

static async Task Main(string[] args)
{
    Console.WriteLine("Let's start ...");
    var done = DoneAsync();
    Console.WriteLine("Done is running ...");
    Console.WriteLine(await done);
}

static async Task DoneAsync()
{
    Console.WriteLine("Warming up ...");
    await Task.Delay(3000);
    Console.WriteLine("Done ...");
    return 1;
}

ما … را داریم

Main

عملکردی که هنگام اجرای برنامه اجرا می شود. ما داریم…