• 회원가입
  • 로그인
  • 구글아이디로 로그인

GO - Variables (고랭 변수)

751  
목차
  1. Go 변수 데이터타입
  2. Go 변수 선언(=생성)
  3. Go 초기값 갖는 변수 선언
  4. Go 초기값 없는 변수 선언
  5. Go 변수 선언 후 값 할당
  6. Go var / := 차이점
  7. Go 다중 변수 선언
  8. Go 블럭 안에서 변수 선언
  9. Go 변수명 작성 규칙
  10. Go 여러 단어로 변수명 짓기 - (Camel/Pascal/Snake)
  11. 복습 연습문제

 

※ 변수: 데이터 담는 그릇. (엄밀히 말하면, 데이터 저장 위치 지시자.)

 

Go 변수 데이터타입

 

Go 언어에는 다양한 유형의 변수 있음.

  • int - 정수 (예) 123. -123
  • float32 - 부동수수 (예) 12.34 또는 -12.34
  • string - 문자열 (예) "Homzzang.com"  ※ 큰따옴표로 묶어야 함.
  • bool - 참거짓 (예) true, false  ※ 두 가지 상태 값만 가짐.
  • 더 자세히 보기

 

 

Go 변수 선언(=생성)

 

2가지 방법으로 선언 가능.

 


[방법1] - var 키워드 이용

 

 

var var_name type = value

 

PS1. 항상 typevalue 중 하나 또는 모두를 지정해야 함.

PS2. value 할당 없이도 변수 생성 가능.


[방법] - := 기호 이용

 

var_name := value

 

PS1. 변수 자료형은 값에서 자동으로 유추됨.

PS2. value 할당 없이는 변수 생성 불가능함.

 

Go 초기값 갖는 변수 선언

 

변수 값을 아는 경우, 변수 선언과 동시에 값 할당 가능.

 


[예제]

 

package main

import ("fmt")


func main() {

  var site string = "홈짱닷컴" //type 명시

  var host = "Homzzang.com" //type 유추

  open := 2012 //type 유추


  fmt.Println(site) // 홈짱닷컴

  fmt.Println(host) // Homzzang.com

  fmt.Println(open) // 2012

}


 

Go 초기값 없는 변수 선언

 

모든 변수가 초기화되며, 해당 자료형의 기본값으로 자동 설정됨.

 


[예제]

 

package main

import ("fmt")


func main() {


  var a string

  var b int

  var c bool


  fmt.Println(a) //

  fmt.Println(b) // 0

  fmt.Println(c) // false

}

 

PS. 문자열 기본값은 빈 값(즉, "")이라 아무 것도 안 찍힘.

 

Go 변수 선언 후 값 할당

 

변수값을 처음부터 알 수 없을 시, 변수 먼저 선언 후에 값 할당 가능.

 


[예제]

 

package main

import ("fmt")


func main() {

  var host string

  host = "Homzzang.com"

  fmt.Println(host) // homzzang.com

}

 

[주의] := 기호 이용해 변수 선언 시, 선언과 동시에 값 할당 필수.

 

Go var / := 차이점

 

var 키워드

  • 함수 안팎에서 모두 사용 가능.
  • 변수 선언과 값 할당을 분리 가능.

 

:= 기호

  • 함수 안에서만 사용 가능.
  • 변수 선언과 값 할당 분리 불가. (즉, 무조건, 동시에 해야 함.)



[예제1] - 함수 밖에서 변수 선언 후, 함수 안에서 값 할당.

 

package main

import ("fmt")

 

var site string

var host string = "Homzzang.com"

var open = 2012

 

func main() {

  site = "홈짱닷컴"

  fmt.Println(site) // 홈짱닷컴

  fmt.Println(host) // Homzzang.com

  fmt.Println(open) // 2012

}

 


[예제2] - 함수 밖에서 := 기호 사용해 변수 선언 시, 에러 발생

 

package main

import ("fmt")

 

host := "Homzzang.com" // 에러 유발

 

func main() {

  fmt.Println(host) // 에러 발생

}

 

결과값:

# command-line-arguments

.\homzzang.go:4:1: syntax error: non-declaration statement outside function body 

 

Go 다중 변수 선언

1. 자료형 지정 시, 한 줄에 한 가지 유형의 변수만 지정 가능.

 

package main

import ("fmt")


func main() {

  var a, b, c int = 1, 2, 3


  fmt.Println(a) // 1

  fmt.Println(b) // 2

  fmt.Println(c) // 3

}



2. 자료형 지정 안 하면, 한 줄에 여러 자료형 변수 지정 가능.

 

package main

import ("fmt")


func main() {

  var a, b = 1, "홈짱닷컴"

  c, d := 2, "Homzzang.com"


  fmt.Println(a) // 1

  fmt.Println(b) // 홈짱닷컴

  fmt.Println(c) // 2

  fmt.Println(d) // Homzzang.com

}


 

Go 블럭 안에서 변수 선언

가독성 높이기 위해, 여러 변수 선언을 그룹으로 블럭화 가능.

 

package main 

import ("fmt")

 

func main() { 

  var (

    a int

    b string = "홈짱닷컴"

    c string = "Homzzang.com"

  )

  fmt.Println(a) // 0

  fmt.Println(b) // 홈짱닷컴

  fmt.Println(c) // Homzzang.com 

}

 

 

Go 변수명 작성 규칙

 

  1. 짧은 이름(예: x, y) 또는 긴 이름(예: id, name) 가능.
  2. 문자 또는 밑줄 문자(_)로 시작 필수.
  3. 숫자로 시작 불가.
  4. 영문자와 숫자와 밑줄( a-z, A-Z, 0-9, 및 _)만 포함 가능.
  5. 대소문자 구분함. (예: hz, Hz, HZ은 서로 다른 변수임)
  6. 길이에는 제한 없음.
  7. 공백 포함 불가.
  8. Go 언어의 내장 키워드는 사용 불가.

 

 

Go 여러 단어로 변수명 짓기 - (Camel/Pascal/Snake)

 

2개 이상의 단어 사용해 변수명 작성 시, 가독성 높이는 방법 3가지.

  1. [Camel Case]
  2. [Pascal Case]
  3. [Snake Case]

 


[Camel Case]

 

첫 단어 제외한 나머지 단어는 대문자로 시작.

mySiteHost = "Homzzang.com"

 


[Pascal Case]

 

각 단어는 대문자로 시작

MySiteHost = "Homzzang.com"

 


[Snake Case]

 

각 단어를 언더바(_)로 연결.

my_site_host = "Homzzang.com"

 

 

복습 연습문제

※ open 변수에 정수 2012 할당 후 출력

 

package main

import ("fmt")


func main() {

  var open int = 2012

  fmt.Println(open)

}




제목
GO - Home (고랭 입문)
GO - Intro (고랭 소개)
GO - Start (고랭 시작)
GO - Syntax (고랭 구문)
GO - Comments (고랭 주석)
GO - Variables (고랭 변수)
GO - Constants (고랭 상수)
GO - Output (고랭 출력)
GO - Data Types (고랭 데이터타입) - 자료형
GO - Arrays (고랭 배열)
GO - Slices (고랭 슬라이스)
GO - Operators (고랭 연산자)
GO - Conditions (고랭 IF조건문)
GO - switch (고랭 스위치조건문)
GO - For Loops (고랭 FOR반복문)
GO - Functions (고랭 함수)
GO - Maps (고랭 맵)
목록
찾아주셔서 감사합니다. Since 2012