2. 자료형 (data type)
Go언어도 프로그래밍시 일반적으로 데이터 형(type)이 있음을 확인하고, 선언과 사용방법에 대해 알아보도록 합니다.
Go 언어는 int, uint(unsigned int)와 같은 몇개의 익숙한 타입들을 가지고 있습니다.
타입들은 int8, float64 들 처럼 명확한 크기를 정의하기도 합니다.
또한 int와 int32 둘 다 모두 32bit 크기를 가지고 있어도 둘은 같은 타입이 아닙니다.
C언어
char
unsigned char
short
int
long
unsigned short
unsigned int
unsigned long
float
double
|
|
Go언어
bool
string
int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64
uintptr
byte // uint8의 다른 이름(alias)
rune // int32의 다른 이름(alias)
// 유니코드 코드 포인트 값을 표현
float32 float64
complex64 complex128
|
|
변수들은 선언과 함께 변수 각각을 초기화를 할 수 있습니다.
초기화를 하는 경우 타입을 생략할 수 있습니다. 변수는 초기화 하고자 하는 값에 따라 타입이 결정됩니다.
함수 내에서 := 을 사용하면 var 과 명시적 타입을 생략할 수 있습니다.
C언어
#include <stdio.h>
int main(void)
{
char gender = 'M'; // 성별
char name[6+1] = "Try Go"; // 이름
int age = 29; // 나이
float height = 183.0; // 키
double weight = 71.5; // 몸무게
printf("gender : %c\n", gender);
printf("name : %s\n", name);
printf("age : %d\n", age);
printf("height : %f\n", height);
printf("weight : %lf\n", weight);
return 0;
}
Output
http://codepad.org/nBStVcvk
|
|
Go언어
package main
import "fmt"
func main() {
var gender string = "M" // 성별
name := "Try Go" // 이름
var age int = 29 // 나이
var height float32 = 183.0 // 키
weight := 71.5 // 몸무게
fmt.Println("gender : " + gender)
fmt.Println("name : " + name)
fmt.Println("age : ", age)
fmt.Println("height : ", height)
fmt.Println("weight : ", weight)
}
Output
http://play.golang.org/p/HrhxhjwmER
|
|
마치며
변수를 선언하기 위해 var을 사용합니다.
함수의 매개변수처럼 타입은 문장 끝에 명시합니다.