mirror of https://github.com/tidwall/tile38.git
57 lines
2.3 KiB
Go
57 lines
2.3 KiB
Go
// Package aws provides the core SDK's utilities and shared types. Use this package's
|
|
// utilities to simplify setting and reading API operations parameters.
|
|
//
|
|
// Value and Pointer Conversion Utilities
|
|
//
|
|
// This package includes a helper conversion utility for each scalar type the SDK's
|
|
// API use. These utilities make getting a pointer of the scalar, and dereferencing
|
|
// a pointer easier.
|
|
//
|
|
// Each conversion utility comes in two forms. Value to Pointer and Pointer to Value.
|
|
// The Pointer to value will safely dereference the pointer and return its value.
|
|
// If the pointer was nil, the scalar's zero value will be returned.
|
|
//
|
|
// The value to pointer functions will be named after the scalar type. So get a
|
|
// *string from a string value use the "String" function. This makes it easy to
|
|
// to get pointer of a literal string value, because getting the address of a
|
|
// literal requires assigning the value to a variable first.
|
|
//
|
|
// var strPtr *string
|
|
//
|
|
// // Without the SDK's conversion functions
|
|
// str := "my string"
|
|
// strPtr = &str
|
|
//
|
|
// // With the SDK's conversion functions
|
|
// strPtr = aws.String("my string")
|
|
//
|
|
// // Convert *string to string value
|
|
// str = aws.StringValue(strPtr)
|
|
//
|
|
// In addition to scalars the aws package also includes conversion utilities for
|
|
// map and slice for commonly types used in API parameters. The map and slice
|
|
// conversion functions use similar naming pattern as the scalar conversion
|
|
// functions.
|
|
//
|
|
// var strPtrs []*string
|
|
// var strs []string = []string{"Go", "Gophers", "Go"}
|
|
//
|
|
// // Convert []string to []*string
|
|
// strPtrs = aws.StringSlice(strs)
|
|
//
|
|
// // Convert []*string to []string
|
|
// strs = aws.StringValueSlice(strPtrs)
|
|
//
|
|
// SDK Default HTTP Client
|
|
//
|
|
// The SDK will use the http.DefaultClient if a HTTP client is not provided to
|
|
// the SDK's Session, or service client constructor. This means that if the
|
|
// http.DefaultClient is modified by other components of your application the
|
|
// modifications will be picked up by the SDK as well.
|
|
//
|
|
// In some cases this might be intended, but it is a better practice to create
|
|
// a custom HTTP Client to share explicitly through your application. You can
|
|
// configure the SDK to use the custom HTTP Client by setting the HTTPClient
|
|
// value of the SDK's Config type when creating a Session or service client.
|
|
package aws
|