Primeiros passos com Golang!

3697 단어
Iremos usar docker para rodar o golang na versão 1.12.0-alpine3.9
CriandoDockerfile com imagemgolang:1.12.0-alpine3.9
크리안도 파스타
mkdir first-steps-golang
아세산도 파스타
cd first-steps-golang
크리안도Dockerfiletouch 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" ]


Criando o arquivo go.modtouch go.mod
Na raiz do projeto terá um arquivo go.mod com esse conteúdo:

module calc

go 1.12


Em seguida iremos criar a 파스타 calc
mkdir calc
E criaremos o arquivo de calc em go
cd calc && touch calc.go
Dentro do arquivo cal.go , criamos uma func de divisão.

패키지 calc seria Referente ao pacote de calc
package calc

func Division(a, b int) int {
    return a / b
}


Iremos criar o arquivo main.go 계산을 위한 집행관
touch main.go
Dentro do arquivomain.gopackage main 세리아 레퍼렌테 아오 파코테 메인

Iremos 수입 ocalc efmt
package main

import (
    "calc/calc"
    "fmt"
)

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

    fmt.Println(result)
}



Em seguida iremos fazer o build da imagem em go, na raiz do projeto aonde o Dockerfile esta.
docker build -t williamkoller/first-steps-golang .
Rodaremos a imagem gerado com esse comando
docker run -t williamkoller/first-steps-golang
결과라도 제라도


Agora iremos trabalhar com erros em Golang

arquivo 없음 calc.go
Iremos adicionar uma tratativa de erro

Podemos notar que importamos o erros do golang e no returno estamos usando o nil (como se fosse um ponteiro).

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
}


arquivo 없음 main.go
Passa a ser assim:

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 build da imagem novamente para ter essa nova versão de codigo
docker build -t williamkoller/first-steps-golang .
Em seguida rodar a nova imagem
docker run -t williamkoller/first-steps-golang
결과:



Esse é o resultado gerado comdocker egolang
에스페로 테 아후다도!

좋은 웹페이지 즐겨찾기