'golang'에 해당되는 글 5건

  1. 2014.03.14 [C to Go] 4. 반복문
  2. 2013.10.26 [C to Go] 3. 조건문
  3. 2013.10.26 [C to Go] 2. 자료형 (data type)
  4. 2013.10.26 [C to Go] 1. Hello World
  5. 2013.10.23 [C to Go] 0. 학습목표
C to Go2014. 3. 14. 10:32

4. 반복문

Go 언어는 반복문이 for 밖에 없습니다.

기본적인 for 반복문은 C 언어와 거의 유사합니다. 다른점은 소괄호 ( )가 필요하지 않다는 것입니다.

하지만 실행문을 위한 중괄호 { } 는 필요합니다.

C언어

#include <stdio.h>

int main(void)
{
    int i, sum = 0;
 
    for(i=0; i<10; i++) {
        sum += i;
    }
    printf("sum = %d\n", sum);
 
    return 0;
}

Go언어

package main

import "fmt"

func main() {
    sum := 0

    for i := 0; i < 10; i++ {
        sum += i
    }
    fmt.Println(sum)
}

C에서 처럼 전.후 처리를 제외하고 조건문만 표현할 수도 있습니다.

이전의 예제에서 처럼 조건문만 표시하면 C언어에서 while 을 사용하듯 for 를 사용할 수 있습니다.

C언어

#include <stdio.h>
   
int main(void)
{
    int sum = 1;

    while(i < 1000) {
        sum += sum;
    }
    printf("sum = %d\n", sum);

    return 0;
}

Go언어

package main

import "fmt"

func main() {
    sum := 1

    for sum < 1000 {
        sum += sum
    }
    fmt.Println(sum)
}

for에서 조건문을 생략하면 무한 루프를 간단하게 표현할 수 있습니다.

C언어

#include <stdio.h>
   
int main(void)
{
    for( ; ; ) {

    }

    while(true) {

    }

    return 0;
}

Go언어

package main

import "fmt"

func main() {
    for {

    }
}

결론

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

[C to Go] 3. 조건문  (0) 2013.10.26
[C to Go] 2. 자료형 (data type)  (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
C to Go2013. 10. 26. 08:21

3. 조건문

조건문에 대해 알아보자.


C언어

#include <stdio.h>
  
int main(void)
{
    int n = 1;
    char c = 'b';

    if(n > 0) {
        printf("n > 0\n");
    }

    if(c == 'a') {
        printf("c = a\n");
    } else if(c == 'b') {
        printf("c = b\n");
    } else {
        printf("not equal\n");
    }
   
    return 0;
}


Output

http://codepad.org/TINufYEE

Go언어

package main

import "fmt"

func main() {

	n := 1
	c := "b"
	
	if n > 0 {
		fmt.Println("n > 0")
	}
	
	if c == "a" {
		fmt.Println("c = a")
	} else if c == "b" {
		fmt.Println("c = b")
	} else {
		fmt.Println("not equal")
	}
}


Output

http://play.golang.org/p/cpvjHG81_9


결론

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

[C to Go] 4. 반복문  (0) 2014.03.14
[C to Go] 2. 자료형 (data type)  (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
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
C to Go2013. 10. 26. 08:21

1. Hello World

모든 프로그램의 첫걸음이라고 할 수 있는 Hello World를 통해 C to Go 학습을 시작합니다.

C언어

#include <stdio.h>

int main(void)
{
    printf("Hello World!\n");
    return 0;
}

Go언어

package main

import "fmt"

func main() {
    fmt.Println("Hello World!")
}


Output

http://play.golang.org/p/J93XzRm4Po


마치며..

모든 Go 프로그램은 패키지로 구성되어 있습니다.

프로그램은 main 패키지에서부터 실행을 시작합니다.

패키지 이름은 디렉토리의 경로의 마지막 이름을 사용하는 것이 규칙입니다.

예를 들어 "path/fmt"를 사용한다면 패키지명은 fmt입니다.

또한 여러개의 "package"를 소괄호로 감싸서 import를 표현할 수도 있습니다.


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

[C to Go] 4. 반복문  (0) 2014.03.14
[C to Go] 3. 조건문  (0) 2013.10.26
[C to Go] 2. 자료형 (data type)  (0) 2013.10.26
[C to Go] 0. 학습목표  (0) 2013.10.23
Posted by trikyu
C to Go2013. 10. 23. 23:51

0. 학습목표

C언어의 기본문법을 Go언어로 변환하는 과정을 통해 보다 쉽게 Go언어를 학습하려는 목표를 가지고 진행합니다.

Go언어의 특징을 잘 나타낼 수 있는 프로그램을 작성하며, Go언어의 속성과 특징을 파악합니다.


■ 목차

  1. Hello World
  2. 자료형 (data type)
  3. 조건문
  4. 반복문
  5. 선택문
  6. 함수
  7. 구조체


 Go 언어 참고 링크




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

[C to Go] 4. 반복문  (0) 2014.03.14
[C to Go] 3. 조건문  (0) 2013.10.26
[C to Go] 2. 자료형 (data type)  (0) 2013.10.26
[C to Go] 1. Hello World  (0) 2013.10.26
Posted by trikyu