User Tools

Site Tools


язык_программирования_golang

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
язык_программирования_golang [2023/05/03 12:07]
val created
язык_программирования_golang [2025/01/12 06:20] (current)
val [golangci-lint]
Line 1: Line 1:
 ====== Язык программирования Golang ====== ====== Язык программирования Golang ======
  
 +  * [[http://​golang-book.ru/​|Введение в программирование на Go]]
 +  * [[https://​www.digitalocean.com/​community/​tutorials/​how-to-build-and-install-go-programs|How To Build and Install Go Programs]]
 +  * [[https://​www.systutorials.com/​how-to-get-the-hostname-of-the-node-in-go/​|How to get the hostname of the node in Go?]]
 +
 +  * [[https://​min.io/​docs/​minio/​linux/​developers/​go/​minio-go.html|MinIO Go Client SDK for Amazon S3 Compatible Cloud Storage]]
 +
 +<​code>​
 +student@client1:​~$ sudo apt install golang-go
 +</​code>​
 +===== Web приложение =====
 +<​code>​
 +student@client1:​~$ mkdir gowebd
 +
 +student@client1:​~$ cd gowebd/
 +
 +student@client1:​~/​gowebd$ cat main.go
 +</​code><​code>​
 +package main
 +
 +import (
 +        "​fmt"​
 +        "​log"​
 +        "​net/​http"​
 +        "​os"​
 +)
 +
 +const ver = "​ver1.1"​
 +
 +func main() {
 +        http.HandleFunc("/",​ HelloServer)
 +        fmt.Printf("​Starting server at port 80\n")
 +        if err := http.ListenAndServe(":​80",​ nil); err != nil {
 +                log.Fatal(err)
 +        }
 +}
 +
 +func HelloServer(w http.ResponseWriter,​ r *http.Request) {
 +        hostname, err := os.Hostname()
 +        if err != nil {
 +                panic(err)
 +        }
 +        fmt.Fprint(w,​ "Hello world from gowebd on " + hostname + " " + ver + "​\n"​)
 +}
 +</​code><​code>​
 +student@client1:​~/​gowebd$ sudo go run main.go
 +
 +student@client1:​~/​gowebd$ go mod init gowebd
 +
 +student@client1:​~/​gowebd$ sudo go build -o /​usr/​local/​sbin/​gowebd
 +
 +student@client1:​~/​gowebd$ sudo /​usr/​local/​sbin/​gowebd
 +</​code>​
 +===== golangci-lint =====
 +
 +  * [[https://​golangci-lint.run/​welcome/​quick-start/​|golangci-lint.run quick-start]]
 +  * [[https://​blog.ildarkarymov.ru/​posts/​linters/​|golangci-lint и внедрение его в большой проект]]
 +
 +<​code>​
 +$ go mod init gowebd
 +  или
 +$ cat go.mod
 +</​code><​code>​
 +module gowebd
 +
 +go 1.19
 +</​code><​code>​
 +~/gowebd# time docker run --rm -v $(pwd):/app -w /app golangci/​golangci-lint:​v1.62.2 golangci-lint run --timeout=10m
 +
 +main.go:​11:​7:​ const `ver2` is unused (unused)
 +const ver2 = "​ver1.3"​
 +      ^
 +real    1m28.670s
 +</​code>​
язык_программирования_golang.1683104851.txt.gz · Last modified: 2023/05/03 12:07 by val