Skip to content

copy native objects #5

Description

@taowen

simple value

  • int
  • int8
  • int16
  • int32
  • int64
  • uint
  • uint8
  • uint16
  • uint32
  • uint64
  • float32
  • float64
  • string
  • bool

one level

  • int => *int
  • *int => int
  • [3]int => [3]int
  • [3]int => []int
  • map[string]int => map[string]int
  • map[string]int => struct
  • []int => [3]int
  • []int => []int
  • strut => map[string]int
  • struct => struct

two levels

  • slice + array
  • slice + map
  • [][]int => [][]int
  • slice + struct
  • array + array
  • array + map
  • array + slice
  • array + struct
  • map + array
  • map + map
  • map + slice
  • map + struct
  • struct + (array, map, slice, struct)

existing value

  • int => *int
  • []int => []*int
  • [3]int => [3]*int
  • struct (int) => struct (*int)
  • map[string]int => map[string]*int
  • int => *interface{} (*int)
  • []int => *interface{} ([]*int)

new value

  • int => *int
  • [3]int => *[3]int
  • struct => *struct
  • []int => []int
  • map[string]int => map[string]int

nil

  • int => (*int)(nil)
  • (*int)(nil) => int
  • (**int)(nil) => int
  • &(*int)(nil) => int
  • (*int)(nil) => *int
  • (**int)(nil) => *int
  • &(*int)(nil) => *int
  • []int => []int
  • map[string]int => map[string]int

empty interface

  • *interface{} => int
  • *interface{} => []int
  • int => *interface{}
  • []int => *interface{}
  • []interface{} => []int
  • []int => []interface{}
  • []interface{} => []interface{}
  • map[string]interface{} => map[string]int
  • map[string]int => map[string]interface{}
  • map[string]interface{} => map[string]interface{}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions