안녕하세요. 언제나 휴일, 언휴예요.
앞에서 수를 표현하는 다양한 정수, 실수, 복소수 형식을 살펴보았어요. 이번에는 참과 거짓을 표현할 때 사용하는 bool 형식과 문자열을 표현할 때 사용하는 string을 간략히 살펴보아요. Go 언어에서는 이와 같은 형식 외에도 배열, 슬라이스, 구조체, 포인터, 함수, 인터페이스, 맵, 채널 타입 등을 제공합니다.
C언어나 다른 프로그래밍 언어를 다룬 적이 계신 분들은 이러한 부분을 바로 다루는 것이 더 맞겠지만 언제나 휴일에서는 처음 언어를 접하는 이들도 볼 수 있게 연산자와 제어문 등의 문법들을 소개한 후에 다른 형식들을 다룰 거예요. 문자열도 필요에 의해 여기에서는 간단히 소개만 하고 구체적인 사용 방법은 다른 문법을 소개하면서 다룰게요.
프로그래밍에서 참과 거짓은 자주 다루는 데이터예요. 특정 논리가 참이거나 거짓일 때 특정 구문을 수행하게 하는 조건문이나 특정 조건을 만족하면 특정 수행하고 다시 조건을 판별하는 구조를 순환하는 반복문 등에서 자주 사용합니다. 조건문과 반복문은 별도로 다룰 내용이며 여기에서는 bool을 소개할 거예요.
먼저 새로운 프로젝트를 하나 생성하여 bool 형식 표현을 사용해 보아요.
![](http://ehpub.dothome.co.kr/wp-content/uploads/2022/05/1-199.png)
// Example 논리 형식 bool package main import "fmt" func main() { var b1 bool = true //값으로 true 혹은 false fmt.Println(b1) b1 = 2 > 3 //비교 연산의 결과 fmt.Println(b1) b1 = true && false //논리 연산의 결과 fmt.Println(b1) }
논리 형식 bool은 값으로 true 혹은 false를 가질 수 있어요.
- bool 형식 변수 초기화
var b1 bool = true //값으로 true 혹은 false
그리고 논리 형식은 비교 연산과 자주 사용합니다.
- 비교 연산의 결과를 bool 형식 변수에 대입
b1 = 2 > 3 //비교 연산의 결과
또한 논리 형식 bool은 논리 연산에서도 자주 사용해요.
- 논리 연산의 결과를 bool 형식 변수에 대입
b1 = true && false //논리 연산의 결과
실제 프로그래밍에서 조건 문이나 반복문에서도 자주 사용합니다. 이 부분은 별도로 다루기로 할게요.
![](http://ehpub.dothome.co.kr/wp-content/uploads/2022/05/2-88.png)
프로그래밍에서 수와 논리 데이터 외에 자주 사용하는 데이터가 문자열이예요. Go 언어에서는 문자열 데이터를 표현하는 형식으로 string을 제공하고 있어요. 문자열 데이터는 큰 따옴표(” “)로 포함 문자 집합을 나타내어 표현하는 문자열 리터럴을 사용합니다. 그리고 여러 줄로 문자열을 표현할 때는 백쿼트(~자판과 함께 있는 `)를 이용하여 표현할 수 있어요.
문자열을 사용할 때 문자열 길이나 문자열 비교, 문자열 합성, 부분 문자열 추출 등의 다양한 작업을 할 필요가 있는데 이 부분은 별도로 다루기로 하고 여기에서는 단순히 문자열을 소개하기만 할게요.
새로운 프로젝트를 생성하여 문자열 표현을 사용해 보아요.
![](http://ehpub.dothome.co.kr/wp-content/uploads/2022/05/3-37.png)
// Example 문자열 소개 package main import "fmt" func main() { var s1 string = "Hello, ehclub.co.kr" //이중 콤마로 표현 var s2 string = "안녕, 언제나 휴일" //백쿼터(~자판에 있는 ')로 여러 줄 표현 var s3 = `안녕 언제나 휴일` fmt.Println(s1) fmt.Println(s2) fmt.Println(s3) }
- 이중 콤마로 문자열 표현
var s1 string = "Hello, ehclub.co.kr" //이중 콤마로 표현 var s2 string = "안녕, 언제나 휴일"
- 백쿼터(~자판에 있는 ‘)로 문자열 표현
var s3 = `안녕 언제나 휴일`
![](http://ehpub.dothome.co.kr/wp-content/uploads/2022/05/4-19.png)