Showing 41 open source projects for "structs"

View related business solutions
  • $300 Free Credits to Build on Google Cloud Icon
    $300 Free Credits to Build on Google Cloud

    New customers can spin up VMs, build with AI, and query data at no cost.

    Put your $300 in credit toward real workloads, then keep building with free monthly usage for 20+ products. No commitment and no charge until you upgrade.
    Start Free
  • Custom VMs From 1 to 96 vCPUs With 99.95% Uptime Icon
    Custom VMs From 1 to 96 vCPUs With 99.95% Uptime

    General-purpose, compute-optimized, or GPU/TPU-accelerated. Built to your exact specs.

    Live migration and automatic failover keep workloads online through maintenance. One free e2-micro VM every month.
    Start Free
  • 1
    Mergo

    Mergo

    Mergo: merging Go structs and maps since 2013

    A helper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements. Mergo merges same-type structs and maps by setting default values in zero-value fields. Mergo won't merge unexported (private) fields. It will do recursively any exported one. It also won't merge structs inside maps (because they are not addressable using Go reflection).
    Downloads: 4 This Week
    Last Update:
    See Project
  • 2
    gopsutil

    gopsutil

    psutil for golang

    gopsutil tag policy is almost same as Semantic Versioning but automatically increases like Ubuntu versioning. gopsutil aims to keep backward compatibility until a major version change. Tagged at the end of the month, but if there are only a few commits, it can be skipped. All works are implemented without cgo by porting C structs to golang structs.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 3
    Scany

    Scany

    Library for scanning data from a database into Go structs and more

    ...It provides great control and efficiency in your queries, but here is a problem: you need to manually iterate over database rows and scan data from all columns into a corresponding destination. It can be error-prone verbose and just tedious. scany aims to solve this problem. It allows developers to scan complex data from a database into Go structs and other composite types with just one function call and doesn't bother with row iteration.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 4
    go-jsonschema

    go-jsonschema

    A tool to generate Go data types from JSON Schema definitions

    go-jsonschema is a tool to generate Go data types from JSON Schema definitions. This tool generates Go data types and structs that corresponds to definitions in the schema, along with unmarshalling code that validates the input JSON according to the schema's validation rules.
    Downloads: 31 This Week
    Last Update:
    See Project
  • Build Agents and Models on One Platform Icon
    Build Agents and Models on One Platform

    Everything you need to build production-ready agents and models. Access 200+ Google and third-party AI models and tools.

    Gemini Enterprise Agent Platform is Google Cloud's comprehensive platform for developers to build, scale, govern, and optimize agents and models. Choose from Google's most advanced models and third-party models like Anthropic's Claude Model Family.
    Start Free
  • 5
    moq

    moq

    Interface mocking tool for go generate

    Moq is a Go interface mocking tool designed to generate test-friendly mock structs from existing interfaces. It is commonly used with go generate so teams can keep mock implementations synchronized with their source interfaces. Instead of relying on a large mocking framework, Moq creates straightforward Go code that can be inspected, edited, and used directly in tests. The generated structs allow developers to define function behavior for each mocked method.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 6
    Go QueryString

    Go QueryString

    go-querystring is Go library for encoding structs into URL query

    go-querystring is a lightweight Go library developed by Google for encoding Go structs into URL query strings. It simplifies the process of constructing URLs with typed parameters, offering a clean, type-safe approach to building query strings programmatically. The library’s query package exposes a single Values() function that converts struct fields (tagged with url tags) into properly encoded query parameters. It is particularly useful for APIs or HTTP clients that represent query parameters as structsβ€”such as in the go-github client library. ...
    Downloads: 0 This Week
    Last Update:
    See Project
  • 7
    q Go

    q Go

    Quick and dirty debugging output for tired Go programmers

    ...Type q.Q instead of fmt.Printf and your variables will be printed like the provided example. Faster to type, pretty-printed vars and expressions. Easier to see inside structs, doesn't go to noisy-ass stdout. It goes to $TMPDIR/q. q Go offers pretty colors!
    Downloads: 8 This Week
    Last Update:
    See Project
  • 8
    Participle

    Participle

    A parser library for Go

    Participle is a parser library for Go that lets developers define parsers in an idiomatic Go style. It uses annotated Go structs to describe grammar rules and produce the parsed AST at the same time. This approach feels familiar to Go developers because it resembles the way struct tags are used for formats such as JSON. The library supports a rich grammar syntax with captures, recursive captures, grouping, alternatives, repetition, lookahead, and literal matching.
    Downloads: 12 This Week
    Last Update:
    See Project
  • 9
    go-restful

    go-restful

    Package for building REST-style Web Services using Go

    ...Filters for intercepting the request-response flow on Service or Route level. Request-scoped variables using attributes. Route errors produce HTTP 404/405/406/415 errors, customizable using ServiceErrorHandler(...). Request API for reading structs from JSON/XML and accessing parameters (path, query, header). Customizable gzip/deflate readers and writers using CompressorProvider registration. There are several hooks to customize the behavior of the go-restful package.
    Downloads: 0 This Week
    Last Update:
    See Project
  • Train ML Models With SQL You Already Know Icon
    Train ML Models With SQL You Already Know

    BigQuery automates data prep, analysis, and predictions with built-in AI assistance.

    Build and deploy ML models using familiar SQL. Automate data prep with built-in Gemini. Query 1 TB and store 10 GB free monthly.
    Start Free
  • 10
    ozzo-validation

    ozzo-validation

    An idiomatic Go (golang) validation package

    ...It has the following features. Use normal programming constructs rather than error-prone struct tags to specify how data should be validated. Can validate data of different types, e.g., structs, strings, byte slices, slices, maps, and arrays. Can validate custom data types as long as they implement the Validatable interface. Can validate data types that implement the sql.Valuer interface (e.g. sql.NullString). Customizable and well-formatted validation errors. Error code and message translation support. Provide a rich set of validation rules right out of the box. ...
    Downloads: 7 This Week
    Last Update:
    See Project
  • 11
    ojg

    ojg

    Optimized JSON for Go

    Optimized JSON for Go is a high-performance parser with a variety of additional JSON tools. OjG is optimized to processing huge data sets where data does not necessarily conform to a fixed structure.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 12
    GORM

    GORM

    The fantastic ORM library for Golang, aims to be developer friendly

    GORM is a powerful, developer-friendly ORM library for Go. It maps Go structs to DB tables, supports relationships, hooks, transactions, eager loading, raw SQL, migrations, and advanced querying with plugins.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 13
    easyjson

    easyjson

    Fast JSON serializer for golang

    Package easyjson provides a fast and easy way to marshal/unmarshal Go structs to/from JSON without the use of reflection. In performance tests, easyjson outperforms the standard encoding/json package by a factor of 4-5x, and other JSON encoding packages by a factor of 2-3x. easyjson aims to keep generated Go code simple enough so that it can be easily optimized or fixed. Another goal is to provide users with the ability to customize the generated code by providing options not available with the standard encoding/json package, such as generating "snake_case" names or enabling omitempty behavior by default.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 14
    env

    env

    A simple and zero-dependencies library to parse environment variables

    Parse environment variables to structs in Go. In Go, it’s dead simple to get the value from an environment variable. If you have a type that is not supported out of the box by the lib, you are able to use (or define) and pass custom parsers (and their associated reflect.Type) to the env.ParseWithFuncs() function. Env supports by default anything that implements the TextUnmarshaler interface.
    Downloads: 16 This Week
    Last Update:
    See Project
  • 15
    ClickHouse Go

    ClickHouse Go

    Golang driver for ClickHouse

    ...Supports native ClickHouse TCP client-server protocol. Compatibility with database/sql (slower than native interface!). Database/sql supports http protocol for transport. (Experimental). Marshal rows into structs (ScanStruct, Select). Unmarshal struct to row (AppendStruct). Connection pool Failover and load balancing. Bulk write support (for database/sql use begin->prepare->(in loop exec)->commit). AsyncInsert, named and numeric placeholders support. LZ4/ZSTD compression support. External data.
    Downloads: 9 This Week
    Last Update:
    See Project
  • 16
    Typhon

    Typhon

    A wrapper around Go's net/http to provide safety and convenience

    ...Forgetting to body.Close() in a client when the body has been dealt with is a common source of resource leaks in Go programs in our experience. Typhon ensures that – unless you're doing something really weird with the body – it will be closed automatically. Marshalling and unmarshalling request bodies to structs is such a common operation that our Request and Response objects support them directly. If the operations fail, the errors are propagated automatically since that's nearly always what a server will want.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 17
    Alternative JSON parser for Go

    Alternative JSON parser for Go

    One of the fastest alternative JSON parser for Go

    It does not require you to know the structure of the payload (eg. create structs), and allows accessing fields by providing the path to them. It is up to 10 times faster than standard encoding/json package (depending on payload size and usage), allocates no memory. Originally made for a project that relies on a lot of 3rd party APIs that can be unpredictable and complex. Encoding/json requires you to know exactly your data structures, or if you prefer to use map[string]interface{} instead, it will be very slow and hard to manage. ...
    Downloads: 11 This Week
    Last Update:
    See Project
  • 18
    goldmark

    goldmark

    A markdown parser written in Go. Easy to extend, standard, compliant

    ...Easy to extend, standard(CommonMark) compliant, well structured.golang-commonmark may be a good choice, but it seems to be a copy of markdown-it. blackfriday.v2 is a fast and widely-used implementation, but is not CommonMark-compliant and cannot be extended from outside of the package, since its AST uses structs instead of interfaces. Furthermore, its behavior differs from other implementations in some cases, especially regarding lists: Deep nested lists don't output correctly #329, List block cannot have a second line #244, etc. This behavior sometimes causes problems. If you migrate your Markdown text from GitHub to blackfriday-based wikis, many lists will immediately be broken. ...
    Downloads: 9 This Week
    Last Update:
    See Project
  • 19
    PostgreSQL client and ORM for Golang

    PostgreSQL client and ORM for Golang

    Golang ORM with focus on PostgreSQL features and performance

    ...All struct fields are nullable by default and zero values (empty string, 0, zero time, empty map or slice, nil ptr) are marshalled as SQL NULL. pg:",notnull" is used to add SQL NOT NULL constraint and pg:",use_zero" to allow Go zero values. sql.NullBool, sql.NullString, sql.NullInt64, sql.NullFloat64 and pg.NullTime. Structs, maps and arrays are marshalled as JSON by default. PostgreSQL multidimensional Arrays using array tag and Array wrapper. Hstore using hstore tag and Hstore wrapper. go-pg supports 2 last Go versions and requires support for Go modules. So make sure to initialize a Go module. ORM supports has one, belongs to, has many, and many to many with composite/multi-column primary keys. ...
    Downloads: 9 This Week
    Last Update:
    See Project
  • 20
    go-github

    go-github

    Go library for accessing the GitHub API

    go-github is a Go client library for accessing the GitHub API v3. Currently, go-github requires Go version 1.13 or greater. go-github tracks Go's version support policy. We do our best not to break older versions of Go if we don't have to, but due to tooling constraints, we don't always test older versions. If you're interested in using the GraphQL API v4, the recommended library is shurcooL/githubv4. go-github is compatible with modern Go releases in module mode. Resolve and add the package...
    Downloads: 11 This Week
    Last Update:
    See Project
  • 21
    goquery

    goquery

    A little like that j-thing, only in Go

    goquery brings a syntax and a set of features similar to jQuery to the Go language. It is based on Go's net/HTML package and the CSS Selector library Cascadia. Since the net/html parser returns nodes, and not a full-featured DOM tree, jQuery's stateful manipulation functions (like height(), css(), and detach()) have been left off. Also, because the net/HTML parser requires UTF-8 encoding, so does goquery: it is the caller's responsibility to ensure that the source document provides UTF-8...
    Downloads: 6 This Week
    Last Update:
    See Project
  • 22
    SQLBoiler

    SQLBoiler

    Generate a Go ORM tailored to your database schema

    SQLBoiler is a tool to generate a Go ORM tailored to your database schema. It is a "database-first" ORM as opposed to "code-first" (like gorm/gorp). That means you must first create your database schema. Please use something like sql-migrate or some other migration tool to manage this part of the database's life-cycle. While attempting to migrate a legacy Rails database, we realized how much ActiveRecord benefited us in terms of development velocity. Coming over to the Go database/sql...
    Downloads: 6 This Week
    Last Update:
    See Project
  • 23
    schema

    schema

    Package gorilla/schema fills a struct with form values

    Package gorilla/schema converts structs to and from form values. Conversely, the contents of a struct can be encoded into form values. To define custom names for fields, use a struct tag "schema". To not populate certain fields, use a dash for the name and it will be ignored.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 24
    gomodifytags

    gomodifytags

    Go tool to modify struct field tags

    Go tool to modify/update field tags in structs. gomodifytags makes it easy to update, add or delete the tags in a struct field. You can easily add new tags, update existing tags (such as appending a new key, i.e: db, xml, etc..) or remove existing tags. It also allows you to add and remove tag options. It's intended to be used by an editor, but also has modes to run it from the terminal.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 25
    sqlx

    sqlx

    general purpose extensions to golang's database/sql

    ...Its database, transaction, statement, connection, and related types remain supersets of their standard-library equivalents. This allows existing database/sql applications to adopt additional functionality with relatively little restructuring. Query results can be mapped directly into structs, embedded structs, maps, and slices. Named parameters and named prepared statements simplify queries that would otherwise rely entirely on positional bind variables. Convenience methods such as Get and Select reduce boilerplate when retrieving single records or collections, while additional helpers support expanded queries and driver-specific binding behavior.
    Downloads: 3 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • Next