golang study - 05(Data type)

golang study - 05(Data type)

Basic data type

  • bool
  • string
  • int / int8 / int16 / int32 / int64
  • uint / uint8 / uint16 / uint32 / uint64 / uintptr
  • byte (uint8의 다른 이름)
  • rune (int32의 다른 이름, 유니코드 코드 포인트 값 표현)
  • float32 / float64
  • complex64 / complex128

Structs

  • 필드(데이터)들의 조합
package main
import  "fmt"

type  Dots  struct {
  X int
  Y int
}

func  main() {
  fmt.Println(Dots{1, 2})
}

// output
{1  2}

Access struct fields

  • 점으로 접근한다.
package main
import  "fmt"

type  Dots  struct {
  X int
  Y int
}

func  main() {
  v := Dots{2, 3}
  v.X = 4
  fmt.Println(v.X)
}

// output
4

Pointers

package main
import  "fmt"

type  Dots  struct {
  X int
  Y int
}

func  main() {
  p := Vertex{1, 2}
  q := &p
  fmt.Println(q)
  q.X = 1e9
  fmt.Println(q.X)
  fmt.Println(p)
}

//output
&{1  2}
10000000000
{1000000000  2}

Struct literals

  • 필드와 값을 나열해서 구조체를 새로 만드는 방법
package main
import  "fmt"

type  Dots  struct {
  X, Y int
}

var (
 p = Vertex{1, 2}
  q = &Vertex{1, 2}
  r = Vertex{X: 1}
  s = Vertex{}
)

func  main() {
  fmt.Println(p, q, r, s)
}

//output
{1  2} &{1  2} {1  0} {0  0}

new

  • 모든 필드가 0 또는 null인 포인터를 반환한다.
v := new(Dots)
또는
var  t *Dots = new(Dots)

댓글

가장 많이 본 글