시리즈:쉽게 배우는 프로그래밍 입문/Go: 두 판 사이의 차이

잔글 (Senior9324 사용자가 쉽게 배우는 프로그래밍 입문/Go 문서를 시리즈:쉽게 배우는 프로그래밍 입문/Go 문서로 옮겼습니다)
 
편집 요약 없음
 
(사용자 2명의 중간 판 3개는 보이지 않습니다)
1번째 줄: 1번째 줄:
{{쉽게 알 수 있다 시리즈|이 문서는 정말 쉽습니다.|문서의 내용이 너무 쉬워서 오늘부터 프로그래밍 할 수 있을 것 같습니다.}}
{{:시리즈:쉽게 배우는 프로그래밍 입문}}
[[분류:컴퓨터_프로그래밍]]


=들어가기 전에=
=들어가기 전에=
12번째 줄: 11번째 줄:
==Hello, World!==
==Hello, World!==
네, 그 유명한 KnR에서 유래된 유서깊은 코드입니다.
네, 그 유명한 KnR에서 유래된 유서깊은 코드입니다.
<source lang="go">
<syntaxhighlight lang="go">
package main
package main
import "fmt"
import "fmt"
19번째 줄: 18번째 줄:
     fmt.Println("Hello, World!")
     fmt.Println("Hello, World!")
}
}
</source>
</syntaxhighlight>
package는 이 코드 파일(패키지, 일반적으로는 Class, Python의 스크립트 파일 이름)의 이름을 선언하는 명령어입니다.  
package는 이 코드 파일(패키지, 일반적으로는 Class, Python의 스크립트 파일 이름)의 이름을 선언하는 명령어입니다.  


25번째 줄: 24번째 줄:


import는 다른 언어와 같이 다른 패키지를 이 프로그램에서 사용하겠다고 선언하는 부분입니다.
import는 다른 언어와 같이 다른 패키지를 이 프로그램에서 사용하겠다고 선언하는 부분입니다.
<source lang="go">
<syntaxhighlight lang="go">
import "fmt"
import "fmt"
import "math"
import "math"
33번째 줄: 32번째 줄:
     "math"
     "math"
)
)
</source>
</syntaxhighlight>
이와 같이 소괄호를 사용 할 수도 있고 각각 선언해 줄 수 있습니다.
이와 같이 소괄호를 사용 할 수도 있고 각각 선언해 줄 수 있습니다.


==메소드==
==메소드==
Go에서 메소드를 선언하는 방법은 다른 언어와 다른 <del>변태같은</del>방법입니다.
Go에서 메소드를 선언하는 방법은 다른 언어와 다른 <del>변태같은</del>방법입니다.
<source lang="go">
<syntaxhighlight lang="go">
func add(x int, y int) int{
func add(x int, y int) int{
     return x+y
     return x+y
}
}
</source>
</syntaxhighlight>
와 같이 매개변수 이름의 뒤에 매개변수의 타입을 선언합니다.
와 같이 매개변수 이름의 뒤에 매개변수의 타입을 선언합니다.
마찬가지로 리턴타입(메소드가 실행한 뒤 반환되는 값)의 선언도 매개변수를 다 선언 한 후에 합니다.
마찬가지로 리턴타입(메소드가 실행한 뒤 반환되는 값)의 선언도 매개변수를 다 선언 한 후에 합니다.
또한 아래와 같이 같은 타입의 매개변수는 가장 뒤에 있는 매개변수의 뒤에 타입을 선언해서 글자 수를 줄일 수 있고, Python과 같이 Multiple Return을 지원합니다.
또한 아래와 같이 같은 타입의 매개변수는 가장 뒤에 있는 매개변수의 뒤에 타입을 선언해서 글자 수를 줄일 수 있고, Python과 같이 Multiple Return을 지원합니다.


<source lang="go">
<syntaxhighlight lang="go">
func addAndMult(x , y int) (int, int){
func addAndMult(x , y int) (int, int){
     return x+y, x*y
     return x+y, x*y
}
}
</source>
</syntaxhighlight>
Go의 특징으로 리턴값에 이름을 붙여서 메소드 내부에서 사용할 수 있습니다.
Go의 특징으로 리턴값에 이름을 붙여서 메소드 내부에서 사용할 수 있습니다.
<source lang="go">
<syntaxhighlight lang="go">
func split(sum int) (x, y int) {
func split(sum int) (x, y int) {
     x = sum * 4 / 9
     x = sum * 4 / 9
59번째 줄: 58번째 줄:
     return
     return
}
}
</source>
</syntaxhighlight>
위와 같이 x와 y에 직접 값을 대입해서 리턴해 줍니다.
위와 같이 x와 y에 직접 값을 대입해서 리턴해 줍니다.
==외부에서의 접근==
==외부에서의 접근==
68번째 줄: 67번째 줄:
이름의 첫 문자를 대문자로 타이핑하시면 외부에서 불러와 쓸 수 있는 Public으로 설정됩니다.<del>구글 아니랄까 변태적인...</del>
이름의 첫 문자를 대문자로 타이핑하시면 외부에서 불러와 쓸 수 있는 Public으로 설정됩니다.<del>구글 아니랄까 변태적인...</del>


 
[[분류:프로그래밍 시리즈|Go]]
{{쉽게 배우는 프로그래밍 입문}}

2021년 6월 16일 (수) 17:13 기준 최신판

문서의 내용이 너무 쉬워서 오늘부터 프로그래밍 할 수 있을 것 같습니다.

이 문서에는 독자적으로 연구한 내용이 들어갑니다. 다른 사람의 의견을 존중하면서 무례하지 않도록 작성해 주시고, 의견 충돌 시 토론 문서에서 토론해 주세요.
리브레 프로그래밍 시리즈
초급
프로그래밍
중급
프로그래밍
고급
프로그래밍
Python
협업


들어가기 전에[편집 | 원본 편집]

Go는 구글에서 만든 프로그래밍 언어입니다.

GC(가비지콜렉션)기능이 있어 메모리관리가 편하고 Concurrent Program(동시 프로그램)[1]을 작성하기 편하게 설계되어 있습니다.

Go의 다른 특징으로는 Type-safe, Fast compile이 있습니다.

첫 걸음마[편집 | 원본 편집]

Hello, World![편집 | 원본 편집]

네, 그 유명한 KnR에서 유래된 유서깊은 코드입니다.

package main
import "fmt"

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

package는 이 코드 파일(패키지, 일반적으로는 Class, Python의 스크립트 파일 이름)의 이름을 선언하는 명령어입니다.

 파일의 이름과 반드시 같아야 합니다.

import는 다른 언어와 같이 다른 패키지를 이 프로그램에서 사용하겠다고 선언하는 부분입니다.

import "fmt"
import "math"

import (
    "fmt"
    "math"
)

이와 같이 소괄호를 사용 할 수도 있고 각각 선언해 줄 수 있습니다.

메소드[편집 | 원본 편집]

Go에서 메소드를 선언하는 방법은 다른 언어와 다른 변태같은방법입니다.

func add(x int, y int) int{
    return x+y
}

와 같이 매개변수 이름의 뒤에 매개변수의 타입을 선언합니다. 마찬가지로 리턴타입(메소드가 실행한 뒤 반환되는 값)의 선언도 매개변수를 다 선언 한 후에 합니다. 또한 아래와 같이 같은 타입의 매개변수는 가장 뒤에 있는 매개변수의 뒤에 타입을 선언해서 글자 수를 줄일 수 있고, Python과 같이 Multiple Return을 지원합니다.

func addAndMult(x , y int) (int, int){
    return x+y, x*y
}

Go의 특징으로 리턴값에 이름을 붙여서 메소드 내부에서 사용할 수 있습니다.

func split(sum int) (x, y int) {
    x = sum * 4 / 9
    y = sum - x
    return
}

위와 같이 x와 y에 직접 값을 대입해서 리턴해 줍니다.

외부에서의 접근[편집 | 원본 편집]

대부분의 현대 프로그래밍 언어는 객체지향설계를 지원하기 위하여 외부에서 각 클래스의 내부로 접근하는 권한을 설정할 수 있도록 제공을 하고 있습니다.

Go도 마찬가지로 외부에서 접근할 수 있는 메소드와 변수를 명시할 수 있는 방법을 제공합니다.

이름의 첫 문자를 대문자로 타이핑하시면 외부에서 불러와 쓸 수 있는 Public으로 설정됩니다.구글 아니랄까 변태적인...

  1. 작업을 동시에 실행하는 프로그램입니다. 단순한 멀티쓰레딩 또는 멀티프로세싱보다 상위개념입니다.