Как в PHP сделать pack() из массива

Есть в PHP хорошая функция для запаковки каких-либо данных в бинарный формат. И с помощью неё можно паковать любые данные, в том числе массивы, с некоторыми ограничениями. Рассмотрим простой пример:

php > $a = [1,2,3,4,5,6];
php > $packed = pack('c*', ...$a);
php > echo strlen($packed);
6
(далее…)

Как в Go lang сделать HTTP-запрос через прокси

Существует несколько способов. Первый — через переменную окружения. Он будет хорош для простых задач и может работать без правки Go-кода. Выполните в bash перед запуском своего приложения:

export HTTP_PROXY="http://proxyIp:proxyPort"
(далее…)

Как в Go lang определить является ли строка числом

Является ли строка числом? Достаточно частая задача для тех, кому приходят данные от пользователя в виде строк, но для последующей обработки их нужно провалидировать и конвертировать. Использовать для этого можно функцию Atoi из пакета strconv:

if _, err := strconv.Atoi(v); err == nil {
    fmt.Printf("%q looks like a number.\n", v)
}
(далее…)

Как в Go lang работать с регулярными выражениями

Работа с регулярками в Go lang выглядит весьма любопытно. Для начала нужно скомпилировать регулярное выражение: regexp, err = regexp.Compile(`expression`) if err != nil { panic(err) } Обратите внимание каким символом обёрнуто правило вместо кавычек или апострофа. Теперь можно работать со скомпилированным выражением: match := randomRegexp.FindStringSubmatch(mysting) В переменной math будет массив Read more

Как в Go lang разделить строку на части

Довольно частая задача — получить от пользователя некое значение в виде строки и распарсить его несколько составных частей других типов. Например, нужно получить отдельно хост и порт некоего эндпоинта:

package main

import (
    "fmt"
    "strings"
)

func main() {
    s := strings.Split("myhost.com:5432", ":")
    ip, port := s[0], s[1]
    fmt.Println(ip, port)
}
(далее…)

Как выбрать случайное значение из slice в Go lang

Нужно использовать функцию Intn из пакета rand, а затем использовать результат её выполнения в качестве индекса слайса. import ( "math/rand" "time" ) reasons := []int8{1, 2, 4, 6, 7, 9] // инициализация глобального генератора псевдослучайных чисел rand.Seed(time.Now().Unix() ) len := len(reasons) rnd := rand.Intn(len) value := reasons[rnd] Если нужна большая Read more

Как в Go lang присвоить переменной функцию в качестве значения

Чтобы присвоить переменной анонимную функцию и вызвать её по имени переменной в последующем нужно объявить переменную с типом функции: var f func() (*MyStruct, error) Затем нужно обернуть вызов существующей функции: f = func() (*MyStruct, error) {return anotherFunc(id)} После чего переменную можно использовать как функцию: data, err := f() Причём в данном Read more


Любишь мемасики?

Подпишись на мой телеграм-канал!

Открыть
Закрыть