GOPROGLIB Telegram 6519
✏️ Filter, Map и Reduce для слайсов

В Go нет встроенных функций для работы с коллекциями, которые есть в других языках. Хотите отфильтровать слайс или применить функцию к каждому элементу? Придется писать цикл вручную.

Библиотека pie решает эту проблему. Она добавляет привычные функции для работы со слайсами и мапами: Filter, Map, Reduce, Find и десятки других.

Примеры:
names := pie.FilterNot([]string{"Bob", "Sally", "John", "Jane"},
func(name string) bool {
return strings.HasPrefix(name, "J")
})
// ["Bob", "Sally"]

name := pie.Of([]string{"Bob", "Sally", "John", "Jane"}).
FilterNot(func(name string) bool {
return strings.HasPrefix(name, "J")
}).
Map(strings.ToUpper).
Last()
// "SALLY"



Для чейнинга есть три варианта обёрток, в зависимости от типа данных:

pie.Of — работает с любыми типами, но набор функций ограничен
pie.OfOrdered — для чисел и строк, функций больше
pie.OfNumeric — только числа, доступны все функции включая математические операции

Требует Go 1.18+ из-за дженериков. Если работаете на более старой версии, есть v1 библиотеки без дженериков.

➡️ Попробовать либу

Своё приложение или либа = опыт. А опыт просто так не получить, но мы поможем.

🐸 Библиотека Go-разработчика

#GoToProduction
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10👾41😢1🌚1



tgoop.com/goproglib/6519
Create:
Last Update:

✏️ Filter, Map и Reduce для слайсов

В Go нет встроенных функций для работы с коллекциями, которые есть в других языках. Хотите отфильтровать слайс или применить функцию к каждому элементу? Придется писать цикл вручную.

Библиотека pie решает эту проблему. Она добавляет привычные функции для работы со слайсами и мапами: Filter, Map, Reduce, Find и десятки других.

Примеры:

names := pie.FilterNot([]string{"Bob", "Sally", "John", "Jane"},
func(name string) bool {
return strings.HasPrefix(name, "J")
})
// ["Bob", "Sally"]

name := pie.Of([]string{"Bob", "Sally", "John", "Jane"}).
FilterNot(func(name string) bool {
return strings.HasPrefix(name, "J")
}).
Map(strings.ToUpper).
Last()
// "SALLY"



Для чейнинга есть три варианта обёрток, в зависимости от типа данных:

pie.Of — работает с любыми типами, но набор функций ограничен
pie.OfOrdered — для чисел и строк, функций больше
pie.OfNumeric — только числа, доступны все функции включая математические операции

Требует Go 1.18+ из-за дженериков. Если работаете на более старой версии, есть v1 библиотеки без дженериков.

➡️ Попробовать либу

Своё приложение или либа = опыт. А опыт просто так не получить, но мы поможем.

🐸 Библиотека Go-разработчика

#GoToProduction

BY Библиотека Go-разработчика | Golang




Share with your friend now:
tgoop.com/goproglib/6519

View MORE
Open in Telegram


Telegram News

Date: |

The group’s featured image is of a Pepe frog yelling, often referred to as the “REEEEEEE” meme. Pepe the Frog was created back in 2005 by Matt Furie and has since become an internet symbol for meme culture and “degen” culture. To view your bio, click the Menu icon and select “View channel info.” Earlier, crypto enthusiasts had created a self-described “meme app” dubbed “gm” app wherein users would greet each other with “gm” or “good morning” messages. However, in September 2021, the gm app was down after a hacker reportedly gained access to the user data. In the next window, choose the type of your channel. If you want your channel to be public, you need to develop a link for it. In the screenshot below, it’s ”/catmarketing.” If your selected link is unavailable, you’ll need to suggest another option. Telegram is a leading cloud-based instant messages platform. It became popular in recent years for its privacy, speed, voice and video quality, and other unmatched features over its main competitor Whatsapp.
from us


Telegram Библиотека Go-разработчика | Golang
FROM American