Метод time.Duration.Nanoseconds

Метод time.Duration.Nanoseconds преобразует длительность в количество наносекунд. Он не требует параметров и возвращает значение типа int64, представляющее общее количество наносекунд, содержащихся в длительности. Этот метод полезен, когда требуется выполнить вычисления с максимальной точностью или преобразовать длительность в целочисленное значение для дальнейшей обработки.

Синтаксис

goduration.Nanoseconds()

Пример

Давайте получим количество наносекунд для длительности 5 секунд:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  duration := 5 * time.Second
  res := duration.Nanoseconds()
  fmt.Println(res)
}

Результат выполнения кода:

go5000000000

Пример

Получим количество наносекунд для длительности 1 минута 30 секунд:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  duration := 1*time.Minute + 30*time.Second
  res := duration.Nanoseconds()
  fmt.Println(res)
}

Результат выполнения кода:

go90000000000

Пример

Используем метод Nanoseconds для сравнения длительностей путем их преобразования в числа:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  first := 2 * time.Minute
  second := 90 * time.Second

  if first.Nanoseconds() > second.Nanoseconds() {
    fmt.Println("First is longer than second")
  } else {
    fmt.Println("Second is longer or equal to first")
  }
}

Результат выполнения кода:

go"First is longer than second"

Смотрите также

  • метод time.Duration.Hours,
    который преобразует длительность в часы
  • метод time.Duration.Minutes,
    который преобразует длительность в минуты
  • метод time.Duration.Seconds,
    который преобразует длительность в секунды
  • метод time.Duration.Milliseconds,
    который преобразует длительность в миллисекунды