How it Works
The AWS SDK for Go simpliﬁes use of AWS services by providing a set of libraries that are consistent and familiar for Go developers. It supports higher level abstractions for simplified development, such as Amazon S3 Transfer Manager for seamless concurrent multi-part file uploads and Amazon DynamoDB AttributeValue and Expression utilities for easy integration of your application Go types. Visit GitHub to see AWS-focused open source Go libraries.
Familiar Go Experience
The SDK takes advantage of modern Go language features. You can use Go modules to model service dependencies required by your application, and control when they should update. You can also take advantage of error wrapping feature in Go.
The SDK introduces a new middleware stack that can be used to extend or customize the request and response pipeline for each service operation. The SDK uses this same middleware stack to serialize and deserialize wire format messages for each service API operation by composing many middleware together.
The SDK removes costly runtime reflection from the serialization and deserialization of wire formatted messages. This provides a marked decrease in CPU and memory utilization by the SDK, freeing up more of these resources for your application.
Guides and Examples
The developer guide describes the features for the latest version of the AWS SDK for Go v2 and how to use them.
API Reference Guide
The Go API reference guide describes the API operations for the latest version of the AWS SDK for Go. The reference guide also provides sample requests, responses, and errors for the supported web services protocols.
The AWS SDK for Go v2 migration guide describes how to migrate from version 1 to version 2 of the SDK for Go.
The SDK for Go code samples contain real-world use cases for AWS services to help accelerate development of your applications.