golang
-
Go Lang 기초 5 - 조건문 Switch2021.07.28
-
Go Lang 기초 4 - 조건문 if2021.07.28
-
Go Lang 기초 3 - 연산자2021.07.28
-
Go Lang 기초 1 - Hello World2021.07.20
Go Lang 기초 5 - 조건문 Switch
Go Lang의 switch문은 여러 분기에 걸친 조건문들을 표현합니다.
switch문을 사용하면 일일이 if를 통해 나열하는 것보다 훨씬 간편하게 조건문을 만들 수 있습니다.
switch문은 switch와 case를 통해 순차적으로 조건을 판단합니다.
switch문은 정수형뿐만 아니라 문자열 형태도 사용이 가능합니다.
package main
import "fmt"
func main() {
a := 3
fmt.Print("a 값 : ")
switch a {
case 1:
fmt.Println("1 입니다")
case 2:
fmt.Println("2 입니다")
case 3:
fmt.Println("3 입니다")
}
}
출력결과값
a 값 : 3 입니다
위의 예제는 a를 3으로 선언한 후, switch문과 case를 통해 a값이 1, 2, 3의 각각 case에 해당하는지 순서대로 체크합니다.
결과적으로 해당 switch문은 true값에 해당하는 case 3의 함수를 출력하게 됩니다.
switch문은 if문에서 마지막 else와 같이 해당 조건문을 빠져나오는 방법으로 default를 사용합니다.
switch문 분기의 마지막에, 이전 모든 case에 해당하지 않을 경우 default 함수를 실행합니다.
위의 예제처럼 모든 조건문을 나타내기 위해 일일이 case를 나누지 않고 동일한 case의 경우 ','를 통해 구분하여 사용할 수 있습니다.
switch문을 통해 세 가지 경우를 한 번에 확인할 수 있는 예제 또한 쉽게 만들어 볼 수 있습니다.
package main
import "fmt"
func main() {
a := 3
b := 5
c := 6
fmt.Print("a 값 : ")
switch a {
case 1:
fmt.Println("1 입니다")
case 2:
fmt.Println("2 입니다")
case 3:
fmt.Println("3 입니다")
}
fmt.Print("b 값 : ")
switch b {
case 1:
fmt.Println("1 입니다")
case 2:
fmt.Println("2 입니다")
case 3, 4, 5:
fmt.Println("3 또는 4 또는 5입니다")
}
fmt.Print("c 값 : ")
switch c {
case 1:
fmt.Println("1 입니다")
case 2:
fmt.Println("2 입니다")
case 3, 4, 5:
fmt.Println("3 또는 4 또는 5입니다")
default:
fmt.Println("6 이상입니다")
}
}
출력결과값
a 값 : 3 입니다 b 값 : 3 또는 4 또는 5입니다 c 값 : 6 이상입니다
'IT > Develop' 카테고리의 다른 글
Go Lang 기초 7 - 함수 func (0) | 2021.07.28 |
---|---|
Go Lang 기초 6 - 반복문 For (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 |
Go Lang 기초 4 - 조건문 if
Go Lang의 조건문은 특정 조건을 만족하는 경우에만 실행되는 코드 블록을 말합니다.
코드블록(Code Block)
{ }로 감싼 하나 이상의 명령문으로 이루어진 영역
Go Lang은 다른 대부분의 언어와 마차가지로 여러 개의 분기 조건을 만들 수 있습니다.
조건문에서는 코드블록의 실행 여부를 결정할 때 Bool 표현식(true or False)을 사용합니다.
예제를 통해 살펴보도록 하겠습니다.
예제. If문
package main
import "fmt"
func main() {
var a int = 2
if a == 1 {
fmt.Println("a는 1입니다")
} else if a >= 2 {
fmt.Println("a는 2보다 크거나 같습니다")
} else {
fmt.Println("a는 1도 아니고, 2보다 크거나 같지도 않습니다")
}
}
if문은 if를 사용해서 현재 조건식이 참인지 거짓인지를 확인하고 그 결과를 토대로 다음의 함수를 실행시킬 수 있도록 도와줍니다.
- if문은 if 조건문 {}의 형태로 사용합니다.
- if문은 조건식을 여러개 만들고 싶을 때 else를 사용하여 조건식을 이어나갈 수 있습니다.
- 더이상 추가할 조건식이 없을 때는 위에 나열된 조건식이 아닐 경우 else로 조건식을 마무리합니다.
- 반드시 else를 사용해야하는 것은 아니고 if문만을 사용하더라도 문제없이 사용할 수 있습니다.
위의 예제에서는 a가 2라고 선언했으므로 두번째 if식인 a >= 2가 true가 되어 해당 코드블록의 Print를 실행합니다
출력 결과물
a는 2보다 크거나 같습니다
if문을 사용해서 성적을 입력하면 등급이 나오도록 예문을 작성해봅시다.
예제. If, else문
package main
import "fmt"
func main() {
var score = 0
fmt.Scan(&score)
if score >= 90 {
fmt.Println("A등급")
} else if score >= 80 {
fmt.Println("B등급")
} else if score >= 70 {
fmt.Println("C등급")
} else if score >= 60 {
fmt.Println("D등급")
} else {
fmt.Println("F등급")
}
}
출력결과물
(직접 입력하는 값에 따라 A ~ F등급이 나옵니다)
'IT > Develop' 카테고리의 다른 글
Go Lang 기초 6 - 반복문 For (0) | 2021.07.28 |
---|---|
Go Lang 기초 5 - 조건문 Switch (0) | 2021.07.28 |
Go Lang 기초 3 - 연산자 (0) | 2021.07.28 |
Go Lang 기초 2 - 변수(Variable) (1) | 2021.07.20 |
Go Lang 기초 1 - Hello World (0) | 2021.07.20 |
Go Lang 기초 3 - 연산자
Go Lang에서 사용되는 연산자에 대해 알아보도록 합시다.
Go Lang의 연산자는 다른 대부분의 언어들과 유사합니다.
Go Lang 산술 연산자
기본 사칙연산자와 증감연산자의 표현 방법입니다
a + b (덧셈)
a - b (뺄셈)
a * b (곱셈)
a / b (나눗셈)
a % b (나머지)
a++ (증가)
a-- (감소)
Go Lang 비교 연산자
비교의 결과값은 bool값으로 true 혹은 false가 됩니다
a == b (같다)
a != b (같지 않다)
a >= b (a가 b보다 크거나 같다)
a <= b (a가 b보다 작거나 같다)
Go Lang 논리 연산자
AND, OR, NOT 표현에 사용됩니다
a && b (AND, 두 값이 모두 true인지 확인)
a || b (OR, 두 값 중 어느 하나라도 true인지 확인)
!a (true면 false, false면 true를 출력)
Go Lang 할당 연산자
- 할당 연산자는 연산 후 대입까지 하는 기능을 가진 연산자를 말합니다
a := 2 (a에 2를 대입)
a += 3 (a에 3을 더한 후 대입)
a -= 4 (a에 4를 뺀 후 대입)
a *= 5 (a에 5를 곱한 후 대입)
a /= 6 (a에 6을 나눈 후 대입)
'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 기초 2 - 변수(Variable) (1) | 2021.07.20 |
Go Lang 기초 1 - Hello World (0) | 2021.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 |