[Go] 2장 변수와 데이터 타입

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