IT/Develop
-
Go Lang 기초 1 - Hello World2021.07.20
Go Lang 기초 2 - 변수(Variable)
Go Lang에서 변수(variable)란 입력된 값을 가진 저장공간을 의미합니다.
Go Lang에서는 변수 선언을 통해 변수명을 부여할 수 있습니다.
Go Lang에서 변수 선언은 'var'를 통해서 이루어집니다.
var a int
위의 예제에서 a는 변수명, int는 변수의 타입을 의미합니다.
Go Lang에서 사용되는 변수 타입들에 대해 우선 알아볼 필요가 있습니다.
1. 문자열(string)
문자열은 텍스트 문자를 나타냅니다. 코드 내에서 문자열을 직접 정의하고 사용할 수 있습니다.
"Hello World"와 같이 주로 ""를 사용해서 문자열을 표현합니다
2. 정수(integer)
정수형 문자열은 숫자를 나타냅니다. int로 나타내는 정수형 타입에서는 3.14와 같은 부동 소수점 숫자를 사용할 수 없어 별도로 정의합니다.
var a int 의 형식으로 나타내며 int8, int16, int32, int64 / uint8, uint16, uint32, uint64 등으로 사용합니다 (u는 음수 미포함)
int 처럼 뒤에 비트값을 따로 지정하지 않으면 해당 운영체제의 비트값을 따라갑니다. (64비트의 경우 int64)
3. 부동 소수점(float)
float로 부동 소수점 숫자 타입을 나타냅니다. 정수가 아닌, 소수부를 가진 숫자 값을 저장하며 주로 float32, 64을 사용하며 뒤의 숫자는 비트값을 의미합니다.
4. 참과 거짓(boolean)
어떠한 값의 참과 거짓을 가려내기 위한 타입을 나타냅니다. 주로 조건문에서 사용되며 이 경우 어떠한 조건이 참 혹은 거짓인 경우에만 특정한 코드를 실행할 수 있도록 합니다.
5. 룬(rune)
단일 문자를 나타냅니다. 룬은 해당 문자를 나타내는 유니코드 코드값을 사용하기 때문에 Println으로 출력하면 문자가 아닌 숫자 코드 형태로 출력됩니다.
Go Lang은 정적 타입 언어입니다. 프로그램 실행 전에 타입을 미리 알아내어 타입을 잘못된 위치에 사용하게 되면 오류 메시지를 반환합니다. 사용자가 미리 코드 내의 타입 문제를 체크할 수 있습니다.
타입 체크를 위해서 reflect 패키지의 TypeOf 함수를 사용할 수 있습니다.
package main
import (
"fmt"
"reflect"
)
func main() {
fmt.Println(reflect.TypeOf("Hello World"))
fmt.Println(reflect.TypeOf(23))
fmt.Println(reflect.TypeOf(3.14))
fmt.Println(reflect.TypeOf(true))
}
출력 결과값으로 다음과 같이 해당 입력값의 타입을 알 수 있습니다.
string
int
float64
bool
var를 통해 변수에 값을 할당하면 변수를 사용할 수 있습니다. 변수의 사용까지의 순서는 다음과 같이 진행됩니다.
var a int 변수 선언
a = 23 변수값 할당
fmt.Println(a) 변수 사용
var를 통해 변수 선언하지 않고도 변수를 선언함과 동시에 값을 지정해줄 수 있습니다.
var a int = 23
일반적으로 Go Lang에서 변수의 선언과 동시에 값을 할당하는 경우 단축 변수 선언을 많이 사용합니다.
연산자 := 를 사용해서 타입을 선언하고 값을 할당하는 과정을 한 번에 수행할 수 있게 됩니다.
a := 23
'IT > Develop' 카테고리의 다른 글
Go Lang 기초 6 - 반복문 For (0) | 2021.07.28 |
---|---|
Go Lang 기초 5 - 조건문 Switch (0) | 2021.07.28 |
Go Lang 기초 4 - 조건문 if (0) | 2021.07.28 |
Go Lang 기초 3 - 연산자 (0) | 2021.07.28 |
Go Lang 기초 1 - Hello World (0) | 2021.07.20 |
Go Lang 기초 1 - Hello World
Go Lang은 구글의 엔지니어인 로버트 그리즈머, 롭 파이크, 켄 톰슨이 고안하여 2012년 정식 발표한 프로그래밍 언어입니다.
Go Lang은
- 빠른 컴파일 속도
- 간결한 코드
- 미사용 메모리 자동 해제(가비지 컬렉션)
- 편리한 동시성 코드 작성
- 멀티코어 프로세서 지원
의 특징을 가진 컴파일 언어입니다
Go Lang은 Go Lang 공식 홈페이지에서 다운로드 가능합니다.
다운로드 및 설치가 완료되었다면 우선 예제를 따라 입력해보고 코드를 한 줄씩 살펴보면서 그 의미를 공부해보도록 하겠습니다.
예제. Hello World!
package main
import "fmt"
func main() {
fmt.Println("Hello World!")
}
모든 Go 파일은 package절로 시작됩니다.
package란? 문자열 서식 기능 모음이나 이미지 그리기 기능 모음과 같은 유사한 기능을 수행하는 코드들의 모음
어떤 코드에서 다른 패키지에 있는 코드를 사용하기 위해서는 먼저 해당 패키지를 가져와야(import)합니다.
모든 Go 패키지의 코드들을 한 번에 가져오게 되면 프로그램이 필요 이상으로 커지고 느려지게 되므로 필요한 패키지만 가져와야 합니다.
package와 import 외의 나머지 부분은 실제로 시행되는 코드를 나타내며 보통 하나 이상의 함수(function)로 이루어져 있습니다.
Go Lang은 func으로 함수를 나타냅니다. Go Lang은 프로그램이 실행될 때 main 함수를 가장 먼저 호출하게 됩니다.
위의 예제를 입력한 후 실행시켜보면 다음과 같은 출력값을 얻을 수 있습니다.
Hello World!
위의 예제 코드에서는 fmt 패키지의 Println 함수를 호출해 사용하였습니다. 함수 호출은 함수명을 먼저 작성한 다음 괄호()를 붙여주시면 됩니다.
해당 괄호()안에 하나 이상의 인자(argument)를 받아주는 것도 가능합니다.
package main
import "fmt"
func main() {
fmt.Println("Hello", "World")
}
Println함수에는 다른 여러 함수들과 마찬가지로 쉼표, 를 통해 구분된 하나 이상의 인자가 들어갈 수 있습니다.
출력값은 다음과 같습니다.
Hello World
'IT > Develop' 카테고리의 다른 글
Go Lang 기초 6 - 반복문 For (0) | 2021.07.28 |
---|---|
Go Lang 기초 5 - 조건문 Switch (0) | 2021.07.28 |
Go Lang 기초 4 - 조건문 if (0) | 2021.07.28 |
Go Lang 기초 3 - 연산자 (0) | 2021.07.28 |
Go Lang 기초 2 - 변수(Variable) (1) | 2021.07.20 |