타입(type)
go는 정적타입 언어이기 때문에 프로그램이 실행되기 전에 타입을 미리 알아낼 수 있다.
reflect 패키지의 TypeOf() 함수를 사용하면 값의 타입을 알아낼 수 있다.
fmt.Println(reflect.TypeOf(42))
int : 정수 타입으로 정숫값을 저장한다.
float64 : 부동 소수점 숫자 타입. 소수부를 가진 숫자 값을 저장한다.(64는 64비트를 의미함)
bool : boolean 타입으로 진실 혹은 거짓을 판별하는 타입이다.
string : 문자열 타입으로 텍스트 문자를 나타내는 일련의 바이트이다.
변수
var
var 키워드 뒤로 변수 이름과 변수 타입을 작성하면 된다.
var [변수명] [변수값의타입]
var quantity int
var length, width float64 // 타입이 동일한 변수들은 한 번에 여러개 선언 가능하다.
var Name string // 변수 이름 맨 앞이 대문자면 외부에서 접근이 가능하니 유의!
변수 선언 후 해당 타입의 값 할당도 가능하다.
quantity = 2
Name = "Damon Cole"
이런 식으로 동시 할당도 가능하다
length, width = 1.2, 2.4
룬(rune)
단일 문자를 나타내는데 사용한다.
룬 리터럴은 작은 따옴표를 사용한다.
var leagueOfLegend rune
str := "이현준"
r1 = []rune(str)[0]
문자열
문자열이란 텍스트 문자를 나타내는 일련의 바이트이다.
문자열 리터럴을 사용하면 코드 내에서 문자열을 직업 정의하고 사용할 수 있다.
- \n : 줄바꿈
- \t : 탭문자
- " : 큰따옴표
- \ : 역슬레시
제로 값
값을 할당하지 않고 선언한 변수를 타입에 대한 제로 값으로 초기화 된다.
var myInt int // 0
var myFloat float64 // 0
var myBool bool // false
var myString string // 빈 문자열이 출력됨.
int, float64 : 0으로 초기화
bool : false로 초기화 (bool은 0이면 false, 0보다 크면 True로 취급함)
string : "" 아무것도 없는 빈 문자열로 초기화.
단축 변수 선언
선언과 동시게 값을 할당하는 경우에는 보통 단축 변수 선언을 많이 사용한다.
:= 연산자를 사용하면 한번에 수행 가능하다.
package main
import "fmt"
func main() {
quantity := 4 // int
length, width := 1.2, 2.4 // float64
custiomerName := "Damon Cole" // string
fmt.Println(custiomerName)
fmt.Println("has ordered", quantity, "sheets")
fmt.Println("each with an area of")
fmt.Println(length \* width, "square meters")
}
변수는 단 한번만 선언 가능하다. 값 할당은 언제든지 가능하다.
선언한 변수의 개수와 값의 개수는 정확히 일치해야 한다.
선언된 모든 변수는 반드시 사용해야 한다. 변수를 사용하는 코드를 지우면 선언문도 지워야 한다.
네이밍 규칙
- 카멜 케이스를 주로 사용한다.
- sheetLength -> 이와 같이 첫 문자는 소문자로 시작한다. 이후에 단어 첫번 째 문자는 대문자이다.
- Total_units -> 이름이 대문자로 시작하는 변수, 함수, 타입은 패키지 외부로 노출되며, 외부의 다른 패키지에서 접근이 가능하다.
'Go언어' 카테고리의 다른 글
strings 패키지 (0) | 2023.10.24 |
---|---|
조건문 (2) | 2023.10.24 |
입력 함수 (0) | 2023.10.24 |
타입 변환 (0) | 2023.10.24 |
함수 호출하기("fmt" 패키지) (0) | 2023.10.24 |