Copyright (c) 2020, 2024, Geert JM Vanderkelen
Package xgo
gathers extra, common functionality which gets reimplemented
in each project. It is organized in sub-packages which mimic the Go standard
library.
xgo
is meanly used by other projects the author is maintaining and does nothing
extraordinary except taking away the tedious repeating.
The package grew from an old package, which was split into various separate
repositories within github.com/golistic. However, this is way too much overhead and
maintenance, so we decided to revert back to a single repository: xgo
.
Requires Go 1.23 or later.
The following list shows sub-packages of xgo
. Most have the same names as their
counterparts in the Go standard library, for example, xos
and os
. However, we
add some more like xconv
and xptr
.
xconv
- (basic) type conversions similarxmaps
- extra functionality manipulating Go mapsxnet
- from validating email addresses to finding te next free TCP portxos
- wrapping aroundos
with functions likeIsDir
orIsRegularFile
and mapping environmentxptr
- getting pointer to value; probably the most reimplemented functionalityxreflect
- handy tools doing reflection such asPatchStruct
xslice
- missing pieces ofslice
, with for exampleAsAny
to return any slice as[]any
xsql
- extra functionality around SQL drivers including managing DSN (Data Source Name)xstrings
- extendsstrings
with useful helpers such as genericJoin
andRepeatJoin
xt
- basic wrappers around thetesting
standard package but with a short namextime
- helpers aroundtime.Time
Distributed under the MIT license. See LICENSE.txt
for more information.