$ echo Lbc5OJkdOZyqri8OF89kBA== | base64 -d
-�98�9���/�d
Океюшки, тогда так$ echo Lbc5OJkdOZyqri8OF89kBA== | base64 -d | hexdump -C
00000000 2d b7 39 38 99 1d 39 9c aa ae 2f 0e 17 cf 64 04 |-.98..9.../...d.|
00000010
какие задачи решает Go настолько хорошо, что это нужно писать именно на Go, а не на PHP
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace ConsoleApp
{
class Program
{
static async Task Main(string[] args)
{
try
{
// Создаём экземпляр класса
var scanner = new Scanner();
// Вызываем асинхронный метод Scan, метод работает
// какое-то время, возвращает результат.
var data = await scanner.Scan();
foreach (var item in data)
{
// Выводим на консоль.
Console.WriteLine(item);
}
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
}
}
public class Scanner
{
public Task<List<string>> Scan()
{
return Task.Run(async () =>
{
var results = new List<string>();
for (int i = 0; i < 10; i++)
{
// Делаем правильную задержку (имитация долгой работы для примера).
await Task.Delay(250);
// Собираем данные
results.Add(DateTimeOffset.Now.ToLocalTime().ToString());
}
return results;
});
}
public async Task<List<string>> ScanVersion2()
{
return await Task.Factory.StartNew(async () =>
{
var results = new List<string>();
for (int i = 0; i < 10; i++)
{
// Делаем правильную задержку (имитация долгой работы для примера).
await Task.Delay(250);
// Собираем данные
results.Add(DateTimeOffset.Now.ToLocalTime().ToString());
}
return results;
}, TaskCreationOptions.LongRunning)
.Unwrap() // Без этого возвращается Task<List<string>>, а не List<string>
.ConfigureAwait(false);
}
}
}