go语言初学01

发布于:2024-05-30 ⋅ 阅读:(60) ⋅ 点赞:(0)

在 Windows 环境下创建一个 Go 项目与在其他操作系统上类似,不过需要一些特定的设置。以下是详细步骤,帮助你在 Windows 上从头创建并运行一个 Go 项目。

前提条件

  1. 安装 GoGo 官方网站下载 Windows 安装包并安装。安装完成后,确保 Go 已添加到你的系统路径中。

  2. 安装一个文本编辑器或 IDE 推荐使用 Visual Studio Code(VS Code)或 JetBrains GoLand 来简化开发过程。

步骤 1:检查和设置环境变量

确保 Go 已经正确配置环境变量。在 Windows 中,通过以下步骤检查(和设置)环境变量:

  1. 打开“系统属性”窗口:右键点击“此电脑”,选择“属性”,然后选择“高级系统设置”。
  2. 点击“环境变量”按钮。
  3. 在“系统变量”部分,找到并编辑 Path 变量,确保 Go 的安装路径(例如 C:\Go\bin)已添加到 Path 中。如果没有,手动添加。
  4. 新建一个环境变量 GOPATH,指向你的 Go 工作空间目录,例如 C:\Users\<YourUsername>\go

步骤 2:创建项目目录

在你的工作区中创建一个新的目录用于你的 Go 项目。例如:

mkdir C:\Users\<YourUsername>\projects\myproject
cd C:\Users\<YourUsername>\projects\myproject

步骤 3:初始化 Go 模块

在项目目录中初始化一个新的 Go 模块。Go 模块是一种管理项目依赖项的方式,可以帮助你更好地控制依赖项的版本:

go mod init example.com/myproject

这个命令会在你的项目目录下创建一个 go.mod 文件,内容类似如下:

module example.com/myproject

go 1.XX

其中 example.com/myproject 是你的模块路径,可以根据你的实际情况进行调整。

步骤 4:编写代码

创建并编辑主程序文件 main.go

notepad main.go

main.go 文件中添加如下代码:

package main

import (
    "fmt"
)

func main() {
    fmt.Println("Hello, World!")
}

步骤 5:运行代码

运行你的 Go 程序:

go run main.go

你应该会在终端中看到 Hello, World! 的输出。

步骤 6:添加依赖

如果你想要使用第三方库,例如一个用于 HTTP 路由的库 gorilla/mux,你可以使用 go get 命令来添加该依赖:

go get github.com/gorilla/mux

这会自动更新你的 go.mod 文件以包括新依赖。

步骤 7:编写包含依赖的代码

修改 main.go 文件以使用新添加的依赖项:

package main

import (
    "fmt"
    "log"
    "net/http"

    "github.com/gorilla/mux"
)

func main() {
    r := mux.NewRouter()
    r.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintf(w, "Hello, World!")
    })

    http.Handle("/", r)
    log.Println("Starting server on :8080")
    log.Fatal(http.ListenAndServe(":8080", nil))
}

步骤 8:运行包含依赖的程序

再次运行你的 Go 程序:

go run main.go

你的程序现在应该启动一个 HTTP 服务器,监听在端口 8080。你可以在浏览器中访问 http://localhost:8080,并看到 Hello, World! 的输出。

其他考虑

  1. 测试代码 创建一个 main_test.go 文件,并编写一些简单的测试:

    package main
    
    import (
        "net/http"
        "net/http/httptest"
        "testing"
    )
    
    func TestHelloWorld(t *testing.T) {
        req, err := http.NewRequest("GET", "/", nil)
        if err != nil {
            t.Fatal(err)
        }
    
        rr := httptest.NewRecorder()
        handler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
            fmt.Fprintf(w, "Hello, World!")
        })
    
        handler.ServeHTTP(rr, req)
    
        if status := rr.Code; status != http.StatusOK {
            t.Errorf("handler returned wrong status code: got %v want %v", status, http.StatusOK)
        }
    
        expected := "Hello, World!"
        if rr.Body.String() != expected {
            t.Errorf("handler returned unexpected body: got %v want %v", rr.Body.String(), expected)
        }
    }

  2. 构建项目 构建项目以生成二进制可执行文件:

    go build

    这将会在你的项目目录中生成一个名为 myproject.exe 的可执行文件。

  3. 管理依赖 使用 go mod tidy 清理和更新你的依赖:

    go mod tidy

通过这些步骤,你应该能够在 Windows 上成功创建、运行和管理一个新的 Go 项目。如果你有任何问题或需要进一步的帮助,请随时告诉我!