tempconv

package module
v0.2.3 Latest Latest
Warning

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

Go to latest
Published: May 1, 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.FToC(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
=== RUN   TestKelvinToC
    tempconv_test.go:18: Test TestKelvinToC is Passed!!!  8.124322 °K == -265.025678 °C
--- PASS: TestKelvinToC (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

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

func (Celsius) String

func (c Celsius) String() string

type Fahrenheit

type Fahrenheit float64

func CelToFar added in v0.2.3

func CelToFar(c Celsius) Fahrenheit

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

func (Fahrenheit) String

func (f Fahrenheit) String() string

type Kelvin

type Kelvin float64

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