본문 바로가기
Go언어

변수 와 타입(type)

by 현준의코딩 2023. 10. 24.

타입(type)

go는 정적타입 언어이기 때문에 프로그램이 실행되기 전에 타입을 미리 알아낼 수 있다.

reflect 패키지의 TypeOf() 함수를 사용하면 값의 타입을 알아낼 수 있다.

fmt.Println(reflect.TypeOf(42))

int : 정수 타입으로 정숫값을 저장한다.

float64 : 부동 소수점 숫자 타입. 소수부를 가진 숫자 값을 저장한다.(64는 64비트를 의미함)

bool : boolean 타입으로 진실 혹은 거짓을 판별하는 타입이다.

string : 문자열 타입으로 텍스트 문자를 나타내는 일련의 바이트이다.

변수

var

var 키워드 뒤로 변수 이름과 변수 타입을 작성하면 된다.

var [변수명] [변수값의타입]

var quantity int  
var length, width float64 // 타입이 동일한 변수들은 한 번에 여러개 선언 가능하다.
var Name string // 변수 이름 맨 앞이 대문자면 외부에서 접근이 가능하니 유의!

변수 선언 후 해당 타입의 값 할당도 가능하다.

quantity = 2  
Name = "Damon Cole"

이런 식으로 동시 할당도 가능하다

length, width = 1.2, 2.4

룬(rune)

단일 문자를 나타내는데 사용한다.

룬 리터럴은 작은 따옴표를 사용한다.

var leagueOfLegend rune
str := "이현준"
r1 = []rune(str)[0]

문자열

문자열이란 텍스트 문자를 나타내는 일련의 바이트이다.
문자열 리터럴을 사용하면 코드 내에서 문자열을 직업 정의하고 사용할 수 있다.

  • \n : 줄바꿈
  • \t : 탭문자
  • " : 큰따옴표
  • \ : 역슬레시

제로 값

값을 할당하지 않고 선언한 변수를 타입에 대한 제로 값으로 초기화 된다.

var myInt int // 0  
var myFloat float64 // 0  
var myBool bool // false  
var myString string // 빈 문자열이 출력됨.

int, float64 : 0으로 초기화
bool : false로 초기화 (bool은 0이면 false, 0보다 크면 True로 취급함)
string : "" 아무것도 없는 빈 문자열로 초기화.

단축 변수 선언

선언과 동시게 값을 할당하는 경우에는 보통 단축 변수 선언을 많이 사용한다.
:= 연산자를 사용하면 한번에 수행 가능하다.

package main

import "fmt"

func main() {  
quantity := 4 // int  
length, width := 1.2, 2.4 // float64  
custiomerName := "Damon Cole" // string

fmt.Println(custiomerName)  
fmt.Println("has ordered", quantity, "sheets")  
fmt.Println("each with an area of")  
fmt.Println(length \* width, "square meters")
}

변수는 단 한번만 선언 가능하다. 값 할당은 언제든지 가능하다.
선언한 변수의 개수와 값의 개수는 정확히 일치해야 한다.
선언된 모든 변수는 반드시 사용해야 한다. 변수를 사용하는 코드를 지우면 선언문도 지워야 한다.

네이밍 규칙

  • 카멜 케이스를 주로 사용한다.
    • sheetLength -> 이와 같이 첫 문자는 소문자로 시작한다. 이후에 단어 첫번 째 문자는 대문자이다.
    • Total_units -> 이름이 대문자로 시작하는 변수, 함수, 타입은 패키지 외부로 노출되며, 외부의 다른 패키지에서 접근이 가능하다.

'Go언어' 카테고리의 다른 글

strings 패키지  (0) 2023.10.24
조건문  (2) 2023.10.24
입력 함수  (0) 2023.10.24
타입 변환  (0) 2023.10.24
함수 호출하기("fmt" 패키지)  (0) 2023.10.24