1. 변수(Variables)
Go에서 변수를 선언하는 방법으로 여러가지가 있습니다. Go의 기본 변수선언은 var 키워드를 사용해 변수를 선언합니다.
var 변수이름 데이터타입
var age int
변수를 선언하면서 초기값도 할당할 수 있습니다.
var 변수이름 데이터타입 = 값
예) var name string = "Jack"
함수 내에서 := 를 사용해 변수를 선언하고 초기화할 수 있습니다.
name := "Kick"
2. 데이터 타입(Data Types)
Go에는 여러 기본 데이터 타입을 제공합니다.
- 정수형(integer)
- int, int8, int16, int32, int64
- uint, uint8, uint16, uint32, uint64
- 부동 소수점형(Floating-point)
- float32, float64
- 복소수형 (Complex)
- complex64, complex128
- 문자열(String)
- 문자열은 불변(immutable)이며, UTF-8 인코딩을 지원합니다.
var greeting string = 'Hello,World!"
- 불리언(Boolean)
- bool 타입으로, true 또는 false값을 가집니다.
var isActive bool = true
- 슬라이스 (Slice)
- 동적 길이의 배열입니다.
var number []int = []int{1,2,3}
- 맵(Map)
- 키-값 쌍으로 구성된 데이터 구조입니다.
var ages map[string]int = map[string]int{"Konan": 25., "Bobb": 30}
- 구조체(Struct)
- 사용자 정의 데이터 타입으로, 여러 필드를 가질 수 있습니다.
type Person struct {
Name string
Age int
Job string
}
- 인터페이스(interface)
- 메서드의 집합을 정의, 다양한 타입을 구현할 수 있습니다.
type Animal interface {
Speak() string
}
3. 타입 추론 (Type Interface)
Go는 변수를 선언할 때 타입을 명시하지 않더라도 초기값에 따라 타입이 자동 추론됩니다.
// 타입 추론 (Type Interface)
var age = 27 // int로 추론
name := "Jim" // string으로 추론론
4. 명시적 타입 지정 (Explicit Type Specification)
변수를 선언할 때 타입을 명시적 지정할 수 있습니다. 이는 코드의 가독성을 높이며, 의도를 명확히할 수 있습니다.
var height float64 = 1.82
var isActive bool = true
package main
import "fmt"
func main() {
// 변수 선언 초기화
var age int = 25
name := "Jick"
isActive := true
// 타입추론
var height = 1.85 // float64
// 명시적 타입 지정
var score float32 = 95.5
// 출력
fmt.Println("Name:", name)
fmt.Println("Age:", age)
fmt.Println("Active:", isActive)
fmt.Println("Height:", height)
fmt.Println("Score:", score)
}
/*
Name: Jick
Age: 25
Active: true
Height: 1.85
Score: 95.5
*/
GitHub - Koras02/Go-Bloging: https://thinky.tistory.com/category/Back-End/Go
https://thinky.tistory.com/category/Back-End/Go. Contribute to Koras02/Go-Bloging development by creating an account on GitHub.
github.com
LIST
'Back-End > Go' 카테고리의 다른 글
[Go] 6장 맵 (0) | 2025.03.03 |
---|---|
[GO] 5장 배열과 슬라이스 (0) | 2025.02.28 |
[Go] 4장 함수(Function) (0) | 2025.02.26 |
[Go] 3장 제어 구조 (0) | 2025.02.24 |
[GO] 1장 Go란 무엇인가? 컴파일 언어 (0) | 2025.02.22 |