Primeros Passos comゴラン!

3188 ワード

Iremos社docker パラロダールgolang ナヴァーバー1.12.0-alpine3.9クリードドDockerfile コムイメムgolang:1.12.0-alpine3.9クリスアンパスタmkdir first-steps-golangアチェサンドドパスタcd first-steps-golangクリードドDockerfile touch Dockerfile
FROM golang:1.12.0-alpine3.9 as builder

WORKDIR /build

COPY go.mod .

RUN go mod download

COPY . .

RUN go build -o main . 

FROM scratch

WORKDIR /build

COPY --from=builder /build .

CMD [ "./main" ]
クリアードオーアルシュボgo.mod touch go.modナ・レービスにおけるプロジェクト・テー・アン・アルArquivogo.mod COMエッセンコンテ
module calc

go 1.12
エムセージァIremosクリアーパスタCalcmkdir calcE Criaremos O ArquivoデCalcエムゴーcd calc && touch calc.goデトロドArquivocal.go , クリスマウマfunc デdivis o
パッケージCalcセリアリファレンスcalc
package calc

func Division(a, b int) int {
    return a / b
}
Iremosクリアーo Arquivomain.go <武井>touch main.goデトロドArquivomain.go package main セリア・レファレンス
iRemosのインポートcalcfmt
package main

import (
    "calc/calc"
    "fmt"
)

func main() {
    var num1 int = 4
    num2 := 2
    result := calc.Division(num1, num2)

    fmt.Println(result)
}

em segia iremos fazer oビルドda imagem em go,na raiz do projeto aonde oDockerfile エステ.docker build -t williamkoller/first-steps-golang .ロドレモスの想像力docker run -t williamkoller/first-steps-golang結果

アゴラIremos Trabalhar com
いいえArquivocalc.goIremos Auma tratativaデErro
ポドモスノノルタルque輸入erros ドゥgolang エターナル・エステモスnil <資料>
package calc

import "errors"

func Division(a, b int) (int, error) {
    if b == 0 {
        return 0, errors.New("denominator cannot be zero")
    }

    return (a / b), nil
}
いいえArquivomain.goサーアッシム
package main

import (
    "calc/calc"
    "fmt"
)

func main() {
    var num1 int = 4
    num2 := 0
    result, err := calc.Division(num1, num2)

    if err != nil {
        fmt.Println("Error:", err)
        return
    }
    fmt.Println(result)
}
Iremos fazer oは、da imagem novamenteパラシュートで降下しますdocker build -t williamkoller/first-steps-golang .EM SEGINAロダールdocker run -t williamkoller/first-steps-golangESSE結果

ジェラード・コムによるエッセーdockergolangエスパーターアジャドド!