-
Go : 자료형 및 변수, 상수Language/고 Go 2023. 12. 17. 00:01
참고
자료형
정수 : 0
- 부호 있는 정수형
- int, int8, int16, int32, int64
- int는 32bit 시스템에서는 int32, 64bit 시스템에서는 int64
- 부호 없는 정수형
- uint, uint8, uint16, uint32, uint64
- uint는 32bit 시스템에서는 uint32, 64bit 시스템에서는 uint64
- uint와 같은 크기를 갖는 포인터형
- uintptr
- uintptr
실수 : 0.0
- float32
- 32비트 부동 소수점
- 7자리 정밀도
- float64
- 64비트 부동 소수점
- 12자리 정밀도
복소수
- complex64, complex128
문자열 : ""
- string
바이트
- byte
- uint8 과 동일
유니코드 코드포인트
- rune
- int32와 동일
논리 : true / false
- bool
변수명 규칙
- 첫글자로 숫자 안됨
- 대소문자 구분
- 문자, 숫자, 밑줄, 특수문자 허용
변수 선언 방법
default
- var 변수명 자료형 = 초기화
- var 변수명 자료형
- var 변수명1, 변수명2, .. , 변수명N = 값1, 값2, ... , 값N
### 자료형 추론 - var 변수명 = 초기화 - var 변수명
- var 변수명1, 변수명2, .. 변수명N
### - 사용 예시 1 ```go package mainimport "fmt"
func var1() {
var a int = 4 var c, d, e int var f, g, h int = 1, 2, 3 var i float32 = 11.4 var j string = "go lang" var k = 4.74 var l = "Hi 고!" var m = true c = 11 d = 21 e = 31 fmt.Println("a : ", a, "\nc : ", c, "\nd : ", d, "\ne : ", e, "\nf : ", f, "\ng : ", g, "\nh : ", h, "\ni : ", i, "\nj : ", j, "\nk : ", k, "\nl : ", l, "\nm : ", m)
}
<br> ### - 사용 예시 2 ```go package main import "fmt" func var2() { var ( name string = "zhyun" height int32 weight float32 isRunning bool ) height = 500 weight = 100.01 isRunning = true fmt.Println("name : ", name) fmt.Println("height : ", height) fmt.Println("weight : ", weight) fmt.Println("isRunning : ", isRunning) }
짧은 선언 방식
- 변수명 := 초기화
- 반드시 함수 안에서 사용해야 한다.
- 이렇게 생성된 변수는 선언 이후에 다시 값을 할당하려고 할 경우 예외가 발생한다.
- 주로 제한된 범위의 함수 내에서 사용할 경우에 코드 가독성을 높일 수 있다.
- 사용 예시
if i := 10; i < 11 { fmt.Println("Short Variable Test Success!") i++ fmt.Println("i = ", i) // i = 11 }
상수 선언 및 사용 방법
- const 변수명 자료형 = 값
- const 변수명1, 변수명2, .., 변수명n 자료형 = 값1, 값2, .., 값n
- const 변수명 = 값
- const 변수명1, 변수명2, .., 변수명n = 값1, 값2, .., 값n
변수와의 차이점은
- 한번 선언 후 값 변경이 불가하다는 점
- 선언 시 초기화를 필수적으로 해줘야 하는 점
- 함수의 반환 값을 상수 변수에 할당할 수 없다는 점
이다.
- 사용 예시
package main import "fmt" func const2() { const a, b int = 10, 99 const c, d, e = true, 0.84, "test" const ( f = 3.14 g, z = "gim", "zhyun" ) fmt.Println("a : ", a) fmt.Println("b : ", b) fmt.Println("c : ", c) fmt.Println("e : ", e) fmt.Println("d : ", d) fmt.Println("f : ", f) fmt.Println("g : ", g) fmt.Println("z : ", z) }
'Language > 고 Go' 카테고리의 다른 글
Go : Switch 조건문 (0) 2023.12.17 Go : if 조건문 (0) 2023.12.17 Go : 열거형 상수 (0) 2023.12.17 Go : 여러개의 멀티 프로젝트 실행 (0) 2023.12.17 Go : Windows11에서 Go 환경 셋팅 (0) 2023.12.17 - 부호 있는 정수형