반응형

언어 자료구조 알고리즘 1251

[구글 Go 하자] 14. Go 언어 연산자 개요

14. Go 언어 연산자 개요 안녕하세요. 언제나 휴일, 언휴예요. 프로그래밍은 컴퓨터로 하여금 특정 작업을 수행하게 하는 일련의 작업이예요. 이를 위해 작업을 수행하는 과정에서 데이터를 관리하기 위한 문법과 컴퓨터가 수행해야 할 작업을 위한 문법을 요구하죠. 앞에서 다루었던 변수와 형식은 데이터를 관리하기 위한 문법이죠. 이번에는 컴퓨터가 수행해야 할 문법 중에 가장 기초적인 연산자 문법을 다룰 거예요. Go언어의 연산자에는 산술 계산에 필요한 부호 연산과 사칙연산, 나머지 연산, 증감 연산을 비롯하여 크기를 비교하는 연산, 논리 연산과 비트 연산과 쉬프트 연산, 특정 인덱스의 요소를 의미하는 인덱스 연산, 메모리 주소를 구하는 레퍼런스(참조) 연산 및 메모리 주소에 있는 값을 가져오거나 설정하는 역참..

[구글 Go 하자] 13. iota를 사용하여 규칙적인 상수 열거하기

13. iota를 사용하여 규칙적인 상수 열거하기 안녕하세요. 언제나 휴일, 언휴예요. 이전 게시글에서는 const 키워드를 이용하여 상수를 표현하는 방법을 살펴보았어요. 이번 게시글에서는 const 키워드와 괄호, iota를 이용하여 상수를 열거하는 방법을 살펴보아요. 프로그래밍에서 특정 변수가 갖을 수 있는 값의 종류를 한정하여 사용하거나 여러 종류의 값을 여러 개의 상수명에 정의하여 사용하면 효과적일 때가 많이 있어요. 이전 게시글에서 얘기한 것처럼 가독성이 높아지고 변경이 쉬워집니다. 새 프로젝트를 만들어 하나 하나 표현해 보기로 해요.[그림 1] LiteIDE에서 새 프로젝트 생성 및 소스 파일 추가 // Example itoa 사용package main import "fmt" func main..

[구글 Go 하자] 12. const 키워드로 상수 정의

12. const 키워드로 상수 정의 안녕하세요. 언제나 휴일, 언휴예요. 이전 게시글에서는 기본적인 변수 형식을 알아보았어요. 이번 게시글에서는 상수를 알아보기로 해요. 프로그래밍에서 특정 의미를 갖는 고정 값을 상수로 표현하면 가독성이 높아집니다. 50보다는 max_student로 표현하는 것이 가독성이 높다는 것이죠. 또한 해당 값을 변경하고자 할 때 상수명에 상수 값을 정의하는 곳에서만 바꾸면 나머지 소스 코드에 수정없이 변경할 수 있어 편의성도 높일 수가 있어요. 먼저 새 프로젝트를 생성하여 상수 표현을 사용해 보기로 해요.[그림 1] LiteIDE에서 새 프로젝트 생성 및 소스 파일 추가 // Example 상수 표현package mainimport "fmt"func main() { const..

[구글 Go 하자] 11. 참과 거짓은 bool, 문자열은 string

11. 참과 거짓은 bool, 문자열은 string 안녕하세요. 언제나 휴일, 언휴예요. 앞에서 수를 표현하는 다양한 정수, 실수, 복소수 형식을 살펴보았어요. 이번에는 참과 거짓을 표현할 때 사용하는 bool 형식과 문자열을 표현할 때 사용하는 string을 간략히 살펴보아요. Go 언어에서는 이와 같은 형식 외에도 배열, 슬라이스, 구조체, 포인터, 함수, 인터페이스, 맵, 채널 타입 등을 제공합니다. C언어나 다른 프로그래밍 언어를 다룬 적이 계신 분들은 이러한 부분을 바로 다루는 것이 더 맞겠지만 언제나 휴일에서는 처음 언어를 접하는 이들도 볼 수 있게 연산자와 제어문 등의 문법들을 소개한 후에 다른 형식들을 다룰 거예요. 문자열도 필요에 의해 여기에서는 간단히 소개만 하고 구체적인 사용 방법은 ..

[구글 Go 하자] 10. math 패키지에서 제한값을 제공해요.

10. math 패키지에서 제한값을 제공해요. 안녕하세요. 언제나 휴일, 언휴예요. 구글 Go언어에서는 math 패키지에서 자료형의 표현 범위의 제한값을 제공하고 있어요. 프로젝트를 생성하여 제한값을 사용해 보아요. [그림 1] LiteIDE에서 새로운 프로젝트 생성 및 소스 추가 // Example math 패키지에서 제공하는 제한값package main import "fmt"import "math" func main() { fmt.Println(math.MinInt8) //int8의 최솟값 fmt.Println(math.MaxInt8) //int8의 최댓값 fmt.Println(math.MinInt16) //int16의 최솟값 fmt.Println(math.MaxInt16) //int16의 최댓값 f..

[구글 Go 하자] 9. Go 언어에서는 복소수를 표현하는 형식을 제공해요.

9. Go 언어에서는 복소수를 표현하는 형식을 제공해요. 안녕하세요. 언제나 휴일, 언휴예요. 통계나 물리 엔진 등을 개발할 때 실수 뿐만 아니라 복소수를 계산할 때가 있어요. Go언어에서는 복소수를 표현할 수 있는 형식으로 complex64와 complex128을 제공하고 있어요. complex64 형식은 float32 실수부와 허수부로 구성하며 complex128 형식은 float64 실수부와 허수부로 구성하고 있어요. 프로젝트를 새로 생성하여 복소수를 표현해 보아요.[그림 1] LiteIDE에 프로젝트 생성 및 소스 추가 // Example 복소수 표현package main import "fmt" func main() { var c1 complex64 = 1 + 2i //실수부와 허수부 var c2..

[구글 Go 하자] 8. IEEE 754 규약을 따르는 실수, 오차 범위에 주의

8. IEEE 754 규약을 따르는 실수, 오차 범위에 주의 안녕하세요. 언제나 휴일, 언휴예요. 이번에는 Go 언어에서 실수를 표현할 때 사용하는 float32(32비트)와 float64(64비트)를 소개할게요. 0.1과 0.2 사이에는 몇 개의 실수가 있을까요? 여러분이 아시는 것처럼 무한 개의 실수가 존재하죠. 컴퓨터에서는 메모리에 데이터를 표현하여 모든 실수를 유한한 메모리에 표현할 수는 없어요. 실제로 컴퓨터에 실수 표현은 오차 범위를 갖고 있어요. Go언어에서는 IEEE 754 규약에 따라 실수를 표현하고 있어요. IEEE 754 규약에서는 실수를 부호부, 지수부, 가수부로 나누어 일정 범위의 오차 범위를 갖는 실수를 표현하는 것을 약속하고 있어요.위키 피디아 IEEE 754 Go 언어에서는 ..

[구글 Go 하자] 7. byte와 rune 으로 바이너리 데이터 및 코드 표현

7. byte와 rune 으로 바이너리 데이터 및 코드 표현 안녕하세요. 언제나 휴일, 언휴예요. Go 언어에서는 바이너리 데이터를 읽거나 쓸 때 바이트 단위로 처리할 때 byte 형식을 주로 사용해요. 그리고 유니코드(UTF-8)를 표현할 때 rune을 사용합니다. 먼저 byte 표현하는 방법을 새로운 프로젝트를 만들어 확인합시다.[그림 1] LiteIDE에서 새로운 프로젝트 생성 및 소스 파일 추가 // Example byte 표현package main import "fmt" func main() { var b1 byte = 49 var b2 byte = 061 var b3 byte = 0x31 var b4 byte = '1' fmt.Println(b1) fmt.Println(b2) fmt.Print..

[구글 Go 하자] 6. 표현 범위에 따라 원하는 정수 형식 사용

6. 표현 범위에 따라 원하는 정수 형식 사용 안녕하세요. 언제나 휴일입니다. 이전 게시글에게 변수 선언하는 방법을 간단히 알아보았죠. [구글 Go 하자] 5. 강력한 타입 언어, Go 언어 변수 선언 맛보기 이번 게시글에서는 정수 형식에 관해 다룰 거예요. Go 언어는 표현 범위에 따라 1바이트에서 8바이트까지의 정수 형식을 사용할 수 있어요. 자료형 바이트 자료형 바이트 uint8 1바이트 int8 1바이트 uint16 2바이트 int16 2바이트 uint32 4바이트 int32 4바이트 uint64 8바이트 int64 8바이트 uint n비트 시스템에서 n비트 int n비트 시스템에서 n비트 정수 형식은 음의 정수를 표현하지 않는 uint 계열과 음의 정수도 표현하는 int 계열이 있어요. 정수 형..

[구글 Go 하자] 5. 강력한 타입 언어, Go 언어 변수 선언 맛보기

5. 강력한 타입 언어, Go 언어 변수 선언 맛보기 안녕하세요. 언제나 휴일, 언휴예요. 이전 게시글 1~4까지는 Go 언어 소개 및 윈도우즈에서 SDK 설치 및 통합 개발 환경 LiteIDE를 다운로드하고 간단한 테스트 코드를 작성했어요.[구글 Go 하자] 1. 구글 Go 프로그래밍 언어 소개[구글 Go 하자] 2. Golang 사이트에서 "Hello, World" Try Go하기[구글 Go 하자] 3. 윈도우즈에 Go SDK 설치 및 환경 설정하기[구글 Go 하자] 4. 깃허브 가입하고 LiteIDE 다운로드 및 테스트하기 이번 게시글부터는 본격적인 Go 언어의 문법과 프로그래밍에 관하여 다룰 거예요. 그리고 첫 번째 주제는 변수 선언 맛보기입니다. 그런데 제목을 "강력한 타입 언어 go 에서의 변..

반응형