Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

레빈.키티

Mastering Go 3장: 상수, 포인터, 날짜와 시간 본문

기술/Mastering Go

Mastering Go 3장: 상수, 포인터, 날짜와 시간

햇.빛 2019. 8. 31. 14:22

이 포스팅에서는 『Go 마스터하기』라는 훌륭한 책의 내용을 따라 간략히 요약합니다.

Go 마스터하기
국내도서
저자 : 미할리스 추칼로스(Mihalis Tsoukalos) / 남기혁역
출판 : 에이콘출판사 2018.10.16
상세보기

 

상수

const 를 사용합니다.

// 하나의 상수
const a = 200

// 여러 연관 있는 상수 동시 생성
const (
	b1 = "one"
	b2 = "two"
	b3 = "three"
)

// 타입 지정 : 엄격하게 사용
const b string = "string!"

 

iota

iota는 상수 생성자로 상수를 순차적으로 증가하도록 선언할 때 사용합니다.

// Zero = 0, One = 1, Two = 2, Three = 3 과 동일합니다.
const (
	Zero = iota
	One
	Two
	Three
)

// 2의 0승, 2의 2승, 2의 4승
const (
	p2_0 = 1 << iota
	_
	p2_2 = 1 << iota
	_
	p2_4 = 1 << iota
)

 

포인터

C의 그 포인터입니다. 사용 방법도 같습니다.

// 포인터 값 참조
*a

// 주소
&a

// 포인터를 파라미터로 받을 때
func getPointer(n *int) {
}

// 포인터를 반환할 때
func returnPointer(n int) *int {
}

 

날짜와 시간

날짜, 시간 파싱하는 부분이 독특합니다.

// 현재 시간 받기
t := time.Now()

// Unix Epoch Time
time.Now().Unix()

// 소요시간 재기
t1 := time.Now()
time.Sleep(time.Second) // Do Something
t2 := time.Now()
fmt.Println("Time Difference :", t2.Sub(t1))

// 시간 출력 포맷
t.Format("01 January 2006")

// Timezone
loc, _ := time.LoadLocation("Europe/Paris")
t.In(loc)


// 시간 파싱
// 참조 시간은 : Mon Jan 2 15:04:05 MST 2006 : 이 안에서 원하는 모습을 골라야 합니다

d, err := time.Parse("15:04", "09:00")
if err == nil {
	fmt.Println(d)
	fmt.Println(d.Hour(), d.Minute())
} else {
	fmt.Println(err)
}

'기술 > Mastering Go' 카테고리의 다른 글

Mastering Go 3장: 연습문제  (0) 2019.08.31
Mastering Go 3장 : for, array, slice, map  (0) 2019.08.31
Comments