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

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
язык_программирования_golang [2023/05/04 10:52]
val
язык_программирования_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.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://​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>​ <​code>​
-client1:​~/​gowebdcat main.go+student@client1:​~$ sudo apt install golang-go 
 +</​code>​ 
 +===== Web приложение ===== 
 +<​code>​ 
 +student@client1:​~$ mkdir gowebd 
 + 
 +student@client1:​~$ cd gowebd/ 
 + 
 +student@client1:​~/​gowebdcat main.go
 </​code><​code>​ </​code><​code>​
 package main package main
Line 16: Line 27:
 ) )
  
 +const ver = "​ver1.1"​
  
 func main() { func main() {
         http.HandleFunc("/",​ HelloServer)         http.HandleFunc("/",​ HelloServer)
-        fmt.Printf("​Starting server at port 8080\n") +        fmt.Printf("​Starting server at port 80\n") 
-        if err := http.ListenAndServe(":​8080", nil); err != nil {+        if err := http.ListenAndServe(":​80", nil); err != nil {
                 log.Fatal(err)                 log.Fatal(err)
         }         }
Line 26: Line 38:
  
 func HelloServer(w http.ResponseWriter,​ r *http.Request) { func HelloServer(w http.ResponseWriter,​ r *http.Request) {
-        ​name, err := os.Hostname()+        ​hostname, err := os.Hostname()
         if err != nil {         if err != nil {
                 panic(err)                 panic(err)
         }         }
-        fmt.Fprint(w,​ "Hello world from " + name + "​\n"​)+        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>​ </​code>​
язык_программирования_golang.1683186745.txt.gz · Last modified: 2023/05/04 10:52 by val