레빈.키티
Mastering Go 3장: 상수, 포인터, 날짜와 시간 본문
이 포스팅에서는 『Go 마스터하기』라는 훌륭한 책의 내용을 따라 간략히 요약합니다.
![]() |
|
상수
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