이것이 Golang을 배워야 하는 이유입니다.

7681 단어 beginnerslearninggo


소개



Golang은 가장 젊은 프로그래밍 언어 중 하나입니다. 이 게시물이 게시될 때까지 현재 안정적인 Golang 버전은 1.17.2입니다. 그 외에도 개발자들 사이에서 인기 있는 프로그래밍 언어로 간주됩니다. 그것은 많은 플랫폼과 환경(Sorry, Java)에서 구축되고 실행될 수 있으며 견고하고 지원적인 내장 패키지 등과 함께 번들로 제공됩니다.

언어의 마법이 부족하고 장황하고 구조적이며 깨끗하기 때문에 Golang을 사용합니다. 이 기사에서 Golang 학습을 고려해야 하는 이유를 발견하게 될 것입니다. Golang을 다른 프로그래밍 언어와 비교하지 않을 것입니다. 언어 구조 자체부터 시작하겠습니다.

언어 구조




package main

import (
  "errors"
  "fmt"
)

type Numbers []int

func (n Numbers) Repeat() error {
  if n == nil {
    return errors.New("Numbers is nil")
  }

  for i, e := range n {
    fmt.Printf("%02d => %3d\n", i+1, e)
  }

  return nil
}

func main() {
  if err := Numbers(nil).Repeat(); err != nil {
    fmt.Println(err)
  }

  _ = Numbers([]int{1, 99, 100}).Repeat()
}


모든 언어 구문을 다루지는 않겠지만 위의 코드는 Golang 코드의 예입니다. 지금 당장 이해할 필요는 없지만 코드 범위로 packageimport에서 시작하는 코드의 구조를 학습할 수 있습니다. 제어 구조 중 하나로 func main , if-else , for loop

그것은 types , nil 대신 errors 를 사용하여 제어 구조의 한 줄만 작성하더라도 범위로 strictly typed 를 사용하고 (여기서는 1자를 저장합니다) 세미콜론만 사용하여 명령문을 구분합니다. 끝내지 말라고. 즉, Golang의 구문은 초보자에게 친숙하며 적어도 제가 생각한 것입니다.

더러운 코드 구문을 작성하는 것을 두려워하지 않을 것입니다. 왜냐하면 Golang은 더 잘 작성할 수 있는 자체guide가 있을 뿐만 아니라 어떤 변수가 사용되지 않는지 알려주는 자체curly bracesnil가 있기 때문입니다. 에. 그리고 그것이 당신이 알게 될 것입니다.

기본 제공 지원



Golang은 훌륭한 애플리케이션을 구축하기 위한 자체 도구를 제공합니다. 린터? 포맷터? 시험 장치? 너 named 그것. 또한 null , 기본적으로 concurrencyplayground 을 지원합니다. 그 외에도 Golang에는 지원되는 내장 패키지가 있습니다. 타사 모듈 없이 web application , command-line interface applicationWeb Assembly application 을 작성할 수 있습니다. 하지만 Golang 모듈을 만들고 싶다면 어떻게 해야 할까요? 그것에 대해 이야기합시다.

기준 치수



로컬 및 원격 모두에서 쉽게 Golang 모듈을 만들 수 있습니다. linter를 실행한 다음 평소처럼 코딩하면 됩니다. Golang 모듈은 git을 기본적으로 지원하므로 Golang 모듈을 git 저장소에 푸시한 다음 코드로 가져올 수 있습니다. 예를 들어 Postgres 플러그인 또는 내 데이터베이스 자격 증명 로테이터 모듈을 가져오려는 경우 git repo 이름을 입력하기만 하면 가져올 수 있습니다.

import (
  "context"
  "database/sql"
  "log"
  "time"

  "github.com/ClavinJune/rotator"
  "github.com/lib/pq"
)


빌드 결과



바이너리! Golang은 코드를 바이너리로 빌드합니다. Windows를 사용하는 경우 코드를 실행 파일로 빌드하고 Linux를 사용하는 경우 ELF 파일을 빌드하는 식입니다. 또한 환경 변수만 사용하여 빌드를 제어할 수 있습니다. Linux 머신에 있지만 Windows용 실행 파일을 만들고 싶다고 가정해 보겠습니다.

$ ls
main.go
$ GOOS=windows GOARCH=amd64 go build main.go 
$ file main.exe 
main.exe: PE32+ executable (console) x86-64 (stripped to external PDB), for MS Windows
$ GOOS=darwin GOARCH=amd64 go build main.go 
$ file main
main: Mach-O 64-bit x86_64 executable


웹 어셈블리 모듈을 만들 수도 있습니다.

$ GOOS=js GOARCH=wasm go build -o main.wasm main.go
$ file main.wasm
main.wasm: WebAssembly (wasm) binary module version 0x1 (MVP)


결론



모든 언어 사양을 다루지는 않는다는 것을 알고 있습니다. 위의 모든 이유는 개발자인 저에게 매우 주관적입니다. FAQ page 또는 specification page 을 참조하여 Golang에 대한 관심을 찾을 수 있습니다. 또한 Golang은 일반 및 더 나은 오류 처리를 지원하는 2nd version으로 가는 중입니다.

읽어 주셔서 감사합니다!

좋은 웹페이지 즐겨찾기