Go語(yǔ)言實(shí)戰(zhàn)

本文通過(guò)從無(wú)到有創(chuàng)建一個(gè)利用Go語(yǔ)言實(shí)現(xiàn)的非常簡(jiǎn)單的HttpServer,來(lái)讓大家熟悉利用Go語(yǔ)言時(shí)的基本流程,工具和代碼的基本布局,為學(xué)習(xí)Go語(yǔ)言時(shí)碰到的環(huán)境問(wèn)題掃清障礙。

以一個(gè)簡(jiǎn)單的場(chǎng)景來(lái)舉例,有一個(gè)可復(fù)用的庫(kù)(hugger)和一個(gè)使用這個(gè)庫(kù)的應(yīng)用程序(hugmachine),代碼都托管在Github上。

代碼布局

go工具

go命令是一個(gè)管理Go源代碼的工具,可以用來(lái)做很多事情:

  • build 編譯包和依賴(lài)
  • clean 刪除對(duì)象文件
  • fmt 對(duì)代碼風(fēng)格格式化
  • get 下載并安裝包和依賴(lài)(遞歸地進(jìn)行)
  • install 編譯并安裝包和依賴(lài)
  • list 列出所有的包
  • run 編譯和運(yùn)行Go程序
  • test 運(yùn)行以包為單位的測(cè)試
  • vet 做Go源代碼的檢查,發(fā)現(xiàn)編譯器沒(méi)有發(fā)現(xiàn)的錯(cuò)誤

go命令大部分(除了run)都是以包為單位的,而不是單個(gè)的文件。

概述

go這個(gè)工具要求程序猿按照特定的方式把代碼組織在一起,主要體現(xiàn)在:

  • Go程序猿通常把所有的Go代碼(多個(gè)項(xiàng)目)都放到一個(gè)工作區(qū)(workspace)下,這跟其他的編程環(huán)境不一樣,其他的編程環(huán)境里,通常是每個(gè)項(xiàng)目有各自的工作區(qū)
  • 一個(gè)工作區(qū)下可以包含不同版本控制(Git, VCS)下的代碼倉(cāng)庫(kù)

Go語(yǔ)言中,一個(gè)工作區(qū)的根目錄下包含三個(gè)基本的目錄:

  • src 里面是Go的源代碼文件
  • pkg 

    網(wǎng)友評(píng)論