tempconv

package module
v0.2.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 2, 2024 License: AGPL-3.0 Imports: 1 Imported by: 2

README

Упражнение 2.1.

Добавьте в пакет tempconv типы, константы и функции для работы с температурой по шкале Кельвина, в которой нуль градусов соответствует температуре -273.15 °C, а разница температур в 1К имеет ту же величину, что и 1°С.

Решение:

Шаг 1

Создаем модуль:

go mod init abc

Выведет:

go: creating new go.mod: module abc

Шаг 2:

Устанавливаем нашу библитеку:

go get github.com/unixlinuxgeek/tempconv

Шаг 3:

Создаем файл go (например app.go) со следующим содержимым:

package main

import (
	"fmt"
	"github.com/unixlinuxgeek/tempconv"
	"os"
	"strconv"
)

func main() {
	if len(os.Args) == 2 {
		temp, err := strconv.Atoi(os.Args[1])
		if err != nil {
			os.Exit(1)
		}
		c := tempconv.FahToCel(tempconv.Fahrenheit(temp))
		fmt.Fprintf(os.Stdout, "%d градуса Фаренгейта равно %.2f градусов по Цельсию\n", temp, c)
	} else {
		fmt.Println("Не зедан аргумент!!!")
	}
}

Шаг 4

Запускаем наш пример с аргументом 1:

$ go run ./app.go 1
1 градуса Фаренгейта равно -17.22 градусов по Цельсию

Запускаем наш пример с аргументом 5:

$ go run ./app.go 5
5 градуса Фаренгейта равно -15.00 градусов по Цельсию

Шаг 5 (необязательное)

git clone https://github.com/unixlinuxgeek/tenpconv
cd tenpconv

Запуск теста с подробным выводом:

go test -v

Увидим что то похожее на это:

$ go test -v
    tempconv_test.go:19: Test TestKelToCel is Passed!!!  3.46 °K equal -269.69 °C
--- PASS: TestKelToCel (0.00s)
=== RUN   TestKelToFah
    tempconv_test.go:34: Test TestKelToFah is Passed!!!  1.08 °K equal -457.73 °F
--- PASS: TestKelToFah (0.00s)
=== RUN   TestCelToFah
    tempconv_test.go:48: Test TestCelToFah is Passed!!! 5.13 °C equal 41.24 °F
--- PASS: TestCelToFah (0.00s)
=== RUN   TestCelToKel
    tempconv_test.go:61: Test TestCelToKel is Passed!!! 6.68 °C equal 279.83 °K
--- PASS: TestCelToKel (0.00s)
=== RUN   TestFahToCel
    tempconv_test.go:76: Test TestFahToCel is Passed!!! 5.86 °F equal -14.52 °C
--- PASS: TestFahToCel (0.00s)
=== RUN   TestFahToKel
    tempconv_test.go:90: Test TestFahToKel is Passed!!! 7.50 °F equal 259.54 °K
--- PASS: TestFahToKel (0.00s)
PASS
ok      github.com/unixlinuxgeek/tempconv       0.002s

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Celsius

type Celsius float64
const (
	AbsoluteZeroC Celsius = -273.15
	FreezingC     Celsius = 0
	BoilingC      Celsius = 100
	KelvinZeroC   Celsius = -273.1
)

func FahToCel added in v0.2.3

func FahToCel(f Fahrenheit) Celsius

FahToCel преобразует температуру по Фаренгейту в температуру по Цельсию

func KelToCel added in v0.2.3

func KelToCel(k Kelvin) Celsius

KelToCel преобразует температуру по Кельвину в температуру по Цельсию

func (Celsius) String

func (c Celsius) String() string

type Fahrenheit

type Fahrenheit float64

func CelToFah added in v0.2.6

func CelToFah(c Celsius) Fahrenheit

CelToFah преобразует температуру по Цельсию в температуру по Фаренгейту.

func KelToFah added in v0.2.4

func KelToFah(k Kelvin) Fahrenheit

KelToFah преобразует температуру по Кельвину в температуру по Фаренгейту

func (Fahrenheit) String

func (f Fahrenheit) String() string

type Kelvin

type Kelvin float64

func CelToKel added in v0.2.4

func CelToKel(c Celsius) Kelvin

CelToKel преобразует температуру по Цельсию в температуру по Кельвину

func FahToKel added in v0.2.4

func FahToKel(f Fahrenheit) Kelvin

FahToKel преобразует температуру по Фаренгейту в температуру по Кельвину

func (Kelvin) String

func (k Kelvin) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL