반응형

Go 언어 25

[구글 Go 하자] 24. 표준 출력 함수 Println, Print, Printf 사용하기

24. 표준 출력 함수 Println, Print, Printf 사용하기 안녕하세요. 언제나 휴일, 언휴예요. 이번 게시글에서는 콘솔에 문자를 출력할 때 사용하는 Println, Print, Printf 함수 사용하는 방법을 알아볼게요. Println 함수는 가장 많이 사용하는 함수로 개행을 자동 추가하여 출력하는 함수이며 Print함수는 개행을 자동으로 추가하지 않습니다. 그리고 Printf 함수는 포멧 지정자를 이용하여 개발자가 원하는 형태로 출력하는 함수입니다. 새 프로젝트를 생성하여 Println 함수를 사용해 보아요.[그림 1] LiteIDE에서 새 프로젝트 생성 및 소스 파일 추가 // Example Printlnpackage main import "fmt" func main() { var n..

[구글 Go 하자] 23. 다양한 대입 연산자, 좌항에 상수는 올 수 없어요.

23. 다양한 대입 연산자, 좌항에 상수는 올 수 없어요. 안녕하세요. 언제나 휴일, 언휴예요. 이번 게시글에서는 Go 언어의 대입 연산을 살펴보아요. Go 언어의 대입 연산에는 = 와 +=, -= ,... 등이 있어요. 대입 연산의 좌항에는 상수가 올 수 없어요. 좌항이 관리하는 메모리에 우항의 값을 설정하는 연산이기 때문이예요. 그리고 대입 연산자 좌항에 오는 표현을 l-value라고 불러요. 그리고 +=, -=, ... 등의 연산은 좌항의 값과 우항의 값을 +, -, ... 등의 연산을 먼저 수행한 후에 연산 결과를 좌항이 관리하는 메모리에 설정합니다. 새 프로젝트를 생성하여 논리 연산 표현을 사용해 보아요.[그림 1] LiteIDE에서 새 프로젝트 생성 및 소스 파일 추가 // Example 대입..

[구글 Go 하자] 22. 쉬프트 연산은 비트 단위로 자리를 이동합니다.

22. 쉬프트 연산은 비트 단위로 자리를 이동합니다. 안녕하세요. 언제나 휴일, 언휴예요. 이번 게시글에서는 Go 언어의 쉬프트 연산을 살펴보아요. Go 언어의 쉬프트 연산에는 좌측 쉬프트()를 제공합니다. 쉬프트 연산은 좌항에 정수 형식이 올 수 있고 우항에는 부호없는 정수 형식이 올 수 있어요. 좌측 쉬프트 연산은 좌항의 값을 우항의 값만큼 비트 자리 이동을 합니다. 예를 들어 3을 왼쪽으로 4자리 이동하면 연산 결과는 48이예요. 십진수 3은 이진수로 11이며 4자리 왼쪽으로 이동하면 이진수 110000, 즉 48이예요. 좌측으로 1자리 이동하면 곱하기 2를 수행한 연산 결과가 같아요. 따라서 좌측으로 n자리 이동하면 2의 n승을 곱한 결과와 같습니다. 우측 쉬프트 연산은 좌측 쉬프트 연산과 역으로..

[구글 Go 하자] 21. 비트 단위로 연산하는 비트 연산자

21. 비트 단위로 연산하는 비트 연산자 안녕하세요. 언제나 휴일, 언휴예요. 이번 게시글에서는 Go 언어의 비트 연산을 살펴보아요. Go 언어의 비트 연산에는 비트 AND(&), 비트 OR(|), 비트 XOR(^), 비트 clear(&^)를 제공합니다. 비트 연산은 피연산자로 정수 형식이 올 수 있으며 비트 단위로 연산을 수행해요. 예를 들어 6과 5를 비트 AND 연산을 수행하면 비트 단위로 연산하여 연산 결과는 4가 나와요. 6은 이진수로 ...110이고 5는 이진수로 ...101이죠. 따라서 같은 자리의 비트끼리 AND 연산을 수행하면 이진수로 ...100, 즉 4입니다. 만약 6과 5를 비트 OR 연산을 수행하면 연산 결과는 7이예요. 이진수 110과 이진수 101을 같은 자리의 비트끼리 OR ..

[구글 Go 하자] 19. Go언어에서는 비교 연산자를 사용하는 곳이 많아요.

19. Go언어에서는 비교 연산자를 사용하는 곳이 많아요. 안녕하세요. 언제나 휴일, 언휴예요. 이번에는 값의 크기를 비교하는 비교 연산자를 알아보기로 해요. 비교 연산자는 같음(==), 다름(!=), 작음(=) 연산이 있어요. C언어와 C++언어에서는 비교 연산을 문자열에 사용할 수 없고 배열에서는 개발자가 생각하는 결과와 다르게 메모리 주소를 비교했어요. 하지만 Go 언어에서는 문자열이나 배열에서 비교할 수 있고 비교 결과도 우리가 생각하는 것과 차이가 없어요. 이번 게시글에서는 배열에서 비교하는 연산은 다루지 않을 거예요. 새 프로젝트를 생성하여 비교 연산자를 사용하는 표현을 사용해 봅시다.[그림 1] LiteIDE에서 새 프로젝트 생성 및 소스 파일 추가 // Example 비교 연산자 개요pac..

[구글 Go 하자] 17. 변수의 값을 특정 범위에서 순환하게 하기

17. 변수의 값을 특정 범위에서 순환하게 하기 안녕하세요. 언제나 휴일, 언휴예요. 이번에는 나머지 연산자를 알아보기로 해요. Go 언어에서 나머지 연산자는 두 개의 정수 형식을 피연산자로 둘 수 있어요. 정수/정수의 연산 결과가 나머지를 버린 몫이라고 앞에서 얘기했었죠. 정수/정수에서의 나머지를 구할 때 나머지 연산자 %를 사용해요. 그런데 나머지 연산자는 산술 연산을 하기 위한 목적보다도 특정 범위의 정수에서 순환하게 할 때 더 많이 사용합니다. 10개의 요소를 맨 앞에서부터 순차적으로 접근하고 맨 마지막 요소를 접근한 후에 다시 맨 앞에서부터 접근하고자 할 때처럼 변수의 값을 특정 범위의 정수에서 순환하게 할 때가 제법 많이 나와요. 새 프로젝트를 생성하여 정수 형식의 변수를 특정 범위에서 순환하..

[구글 Go 하자] 16. 직관적인 사칙 연산과 비교해 보세요.

16. 직관적인 사칙 연산과 비교해 보세요. 안녕하세요. 언제나 휴일, 언휴예요. 이번 게시글에서는 사칙 연산을 살펴볼 거예요. 사칙 연산은 여러분이 직관적으로 생각하는 것과 큰 차이는 없어요. 새 프로젝트를 생성하여 여러분이 생각하는 것과 차이가 없는 부분을 표현해 보기로 해요.[그림 1] LiteIDE에서 새 프로젝트 생성 및 소스 파일 추가 // Example 사칙 연산자 개요package main import "fmt" func main() { var i1 int = 2 var i2 int = 3 fmt.Println(i1, "+", i2, "=", i1+i2) fmt.Println(i1, "-", i2, "=", i1-i2) fmt.Println(i1, "*", i2, "=", i1*i2) va..

[구글 Go 하자] 15. 부호 연산자도 연산자

15. 부호 연산자도 연산자 안녕하세요. 언제나 휴일, 언휴예요. 이번에는 연산자 중에서 자주 사용하지 않지만 분명히 존재하는 부호 연산자를 가볍게 언급하고 넘어갈게요. 부호 연산자는 단항 연산자로 + 와 - 가 있어요. + 부호 연산자는 연산 결과가 우측 피연산자와 같아서 실제 사용하는 코드를 만나기는 힘들어요. 어떻게 보면 실효성이 없다고 볼 수도 있는 연산자예요. - 부호 연산자는 연산 결과가 우측 피연산자에 곱하기 -1을 한 결과예요. 자주 사용하는 연산자는 아니지만 분명히 존재하는 연산자입니다. 새 프로젝트를 생성하여 간단하게 사용해 보고 넘어가기로 해요. [그림 1] LiteIDE에서 새 프로젝트 생성 및 소스 파일 추가 // Example 부호 연산자package main import "fm..

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

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

반응형