C to Go2013. 10. 26. 08:21

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을 사용합니다.

함수의 매개변수처럼 타입은 문장 끝에 명시합니다.




'C to Go' 카테고리의 다른 글

[C to Go] 4. 반복문  (0) 2014.03.14
[C to Go] 3. 조건문  (0) 2013.10.26
[C to Go] 1. Hello World  (0) 2013.10.26
[C to Go] 0. 학습목표  (0) 2013.10.23
Posted by trikyu