파이문

Go 튜토리얼 - 변수 본문

Go/Tutorial

Go 튜토리얼 - 변수

민Z 2017. 1. 11. 23:57

Go 변수

(Go variable)



Go 에서는 변수를 지정할 때 var 변수명 리턴형 순으로 선언합니다. 열거 되는 변수명이 같은 타입이면 리턴형을 하나만 써줄 수도 있습니다. 바로 아래처럼 말이죠.

var x, y, z int = 3, 2, 1

초기화를 하는 경우 값을 생략할 수도 있습니다. 리턴형을 생략하더라도 Go는 초기화 하고자 하는 타입에 따라 값을 지정할 수 있습니다. (동적 타입 지원) 

var c, python, java = true, false, "no!"

Go에서는 := 을 사용하여 변수 명을 지정할 수도 있습니다. 함수 내에서 := 을 사용하면 var 과 명시적인 타입(e.g. int, bool) 을 생략할 수 있습니다. (그러나 함수 밖에서는 := 선언을 사용할 수 없습니다.) 

c, python, java := true, false, "no!"

마지막으로 초기값을 지정해주지 않는다면 int형은 0으로, bool형은 false로 초기화 됩니다.


예제

(Go variable example)


  •  오류 예제
package main

import "fmt"

func main() {
	x = 5
	fmt.Print(x)
}

콜론과 var 키워드가 없이 위와 같이 코드를 짜면 undefined: x 를 뱉어주게 되므로 변수를 지정할 때는 var 혹은 함수 내에선 :=을 사용해야 합니다.

package main

import "fmt"

func main() {
	var x int = "a"
	fmt.Print(x)
}

리턴형과 초기값이 다르면 cannot use "a" (type string) as type int in assignment 에러를 뱉어주게 됩니다.


  • 올바른 예제
package main

import "fmt"

func main() {
   var x float64
   x = 20.0
   fmt.Println(x)
   fmt.Printf("x is of type %T\n", x)
}


참고

https://go-tour-kr.appspot.com/

https://www.tutorialspoint.com/go/go_variables.htm

'Go > Tutorial' 카테고리의 다른 글

Go 튜토리얼 - 배열, 슬라이스  (1) 2017.01.30
Go 튜토리얼 - switch 문  (0) 2017.01.15
Go 튜토리얼 - 반복문, 제어문  (0) 2017.01.15
Comments