Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

시간 연산 #239

Open
baesy0 opened this issue Apr 5, 2020 · 3 comments
Open

시간 연산 #239

baesy0 opened this issue Apr 5, 2020 · 3 comments

Comments

@baesy0
Copy link
Owner

baesy0 commented Apr 5, 2020

Os가 제공하는 시간

  • Wall clock : telling time
  • Monotonic clock : measuring time

Go에서는 clock에 따라 API를 분리하지 않고 time.Now()를 반환한 후, wall clock reading할 것인지 monotonic clock reading을 할 것인지 정한다.

  • 시간을 알려줄 때: wall clock reading 사용
  • 시간으로 연산할 때: monotonic clock reading 사용
@baesy0
Copy link
Owner Author

baesy0 commented Apr 5, 2020

type은 크게 두 개로 나뉨

  • Duration : 일정한 길이의 시간 ( 일정한 길이의 시간)
  • Time : 한 시점의 시간. (무한히 뻗은 시간의 수평선 위 한 지점)

@baesy0
Copy link
Owner Author

baesy0 commented Apr 5, 2020

Duration

  • int64

메소드

  • 시간의 다양한 단위의 표현
  • 여러 단위에서 시간 반올림 하기 / 버림 하기
  • 문자열로 바꾸기
    등의 기능을 하는 메소드가 있음

@baesy0
Copy link
Owner Author

baesy0 commented Apr 5, 2020

Time

  • time을 사용하는 프로그램은 time을 포인터가 아닌 값으로 저장하고 전달해야 한다. 그 말인즉슨, 시간변수나 구조체의 필드는 *time.Time이 아닌 time.Time타입을 가져야 한다는 것이다.

메소드

  • Time 인스턴트는 Befor, After, Equal 메소드로 비교할 수 있다.
  • Sub메소드를 사용하면 두 인스턴트를 빼고 Duration을 반환한다
  • Add 메소드는 Time과 Duration을 더해서 Time을 반환한다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant