[Go] (1) 변수, 상수, 데이터 타입

HY·2022년 9월 29일
0

go-lang-study

목록 보기
1/3
post-thumbnail

개요

  • 2007년 구글에서 개발 시작
  • 2012년 1.0 완성

특징

  1. 전통적인 컴파일, 링크 모델을 따르는 범용 프로그래밍 언어
  2. 시스템 프로그래밍 목적 개발
  3. Communicating Sequential Processes 스타일 Concurrent 프로그래밍 지원

일반적인 프로젝트 구조

.
├── bin
├── pkg
└── src
    └── hello.go

코드 구조

package main // 함수가 소속된 패키지명

 // 메인 함수 - Go는 main 패키지 내 Entry Point인 main() 함수를 찾아 프로그램을 실행한다.
func main() {
	println("Hello World!")
}

// go run src/hello.go 로 실행

변수와 상수

변수

// var 키워드 + 변수명 + 변수 타입
var a int 

// 초기값 할당
var f float32 = 11

// 선언된 변수는 이후에 타입 값 할당 가능
a = 10
f = 12.0

// 동일한 타입의 변수 여러 개 있을 경우 마지막에 타입 한 번만 지정할 수 있다. 
// 초기값을 지정하지 않으면 0, false, ""를 기본적으로 할당한다. 
var i, j, k int

// := 사용 가능하다 -> var 생략 가능 함수 내에서만 사용할 수 있으며 함수 밖에서는 var를 사용해야 한다.
i := 1	// var i = 1

상수

const c int = 10

//	할당되는 값 보고 타입 추론
const c = 10
const s = "Hi"

//	여러 개 상수 묶어서 지정 가능
const (
	Visa = "Visa"
    Master = "MasterCard"
    Amex = "American Express"
)

//	상수 값 0부터 순차적으로 부여 
const (
	Apple = iota	//	0
    Grape	//	1
    Orange	//	2
)

데이터 타입

Go 데이터 타입

bool	
string	//	한 번 생성되면 수정될 수 없는 문자열 타입

//	정수형 타입
int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64 uintptr

//	Float 및 복소수 타입
float32 float64 complex64 complex128

//	기타 타입
byte //	uint8과 동일 - byte 코드 사용
rune //	int32와 동일 - 유니코드 코드포인트에 사용

문자열

//	줄 바꿈 적용되지 않고 raw string으로 인식된다.
rawLiteral := `아리랑\n아리랑\n아라리요`

//	Escape 문자열이 해석된다.
interLiteral := "아리랑\n아리랑\n아라리요"

데이터 타입 변환

var u int = 100
//	T(v) 변환하고자 하는 타입 표시, 값 지정
//	암묵적 변환이 일어나지 않는다. 
var uint = uint(i)
var float32 = float32(i)

참고 문헌

https://go.dev/
http://golang.site/

profile
사실은 공부를 비밀스럽게 하고 싶었다

0개의 댓글