import "github.com/aws/aws-sdk-go/aws/awsutil"
copy.go equal.go path_value.go prettify.go string_value.go
func Copy(dst, src interface{})
Copy deeply copies a src structure to dst. Useful for copying request and response structures.
Can copy between structs of different type, but will only copy fields which are assignable, and exist in both structs. Fields which are not assignable, or do not exist in both structs are ignored.
Code:
type Foo struct { A int B []*string } // Create the initial value str1 := "hello" str2 := "bye bye" f1 := &Foo{A: 1, B: []*string{&str1, &str2}} // Do the copy var f2 Foo awsutil.Copy(&f2, f1) // Print the result fmt.Println(awsutil.Prettify(f2))
Output:
{ A: 1, B: ["hello","bye bye"] }
func CopyOf(src interface{}) (dst interface{})
CopyOf returns a copy of src while also allocating the memory for dst. src must be a pointer type or this operation will fail.
Code:
type Foo struct { A int B []*string } // Create the initial value str1 := "hello" str2 := "bye bye" f1 := &Foo{A: 1, B: []*string{&str1, &str2}} // Do the copy v := awsutil.CopyOf(f1) var f2 *Foo = v.(*Foo) // Print the result fmt.Println(awsutil.Prettify(f2))
Output:
{ A: 1, B: ["hello","bye bye"] }
DeepEqual returns if the two values are deeply equal like reflect.DeepEqual. In addition to this, this method will also dereference the input values if possible so the DeepEqual performed will not fail if one parameter is a pointer and the other is not.
DeepEqual will not perform indirection of nested values of the input parameters.
Prettify returns the string representation of a value.
SetValueAtPath sets a value at the case insensitive lexical path inside of a structure.
StringValue returns the string representation of a value.
ValuesAtPath returns a list of values at the case insensitive lexical path inside of a structure.
Package awsutil imports 9 packages (graph) and is imported by 15116 packages. Updated 2019-11-13. Refresh now. Tools for package owners.