go模块

创建模块

创建目录:mkdir greetings    

进入目录:cd greetings

创建mod依赖:go mod init example/greetings

创建文件:greetings.go

 编辑文件:#模块名与文件名,目录名均相同

    package greetings

    import "fmt"

    func Hello(name string) string {

        message := fmt.Sprintf("Hi, %v. Welcome!", name)

        return message

    }

创建主程序

  返回greetings目录上层,创建目录:

            cd ..

            mkdir hello

            cd hello

创建mod依赖:go mod init example/hello

创建文件hello.go:

    package main

    import (

        "fmt"

        "example.com/greetings"

    )

    func main() {

        // Get a greeting message and print it.

        message := greetings.Hello("Gladys")

        fmt.Println(message)

    }

改变模块查找方式:改为相对地址

    go mod edit -replace example.com/greetings=../greetings

更新依赖:go mod tidy

运行代码:go run .

返回错误

修改greetings.go

package greetings

import (

    "errors"

    "fmt"

)

func Hello(name string)(string, error){

    if name == "" {

        return "", errors.New("empty name")

    }

message := fmt.Sprintf("Hi, %v. Welcome!", name)    

return message, nil

}

修改hello.go

package main

import ( "fmt""log""example.com/greetings")

func main() {

    log.SetPrefix("greetings: ")

    log.SetFlags(0)

message, err := greetings.Hello("")

    if err != nil {

        log.Fatal(err)

    }

fmt.Println(message)

}

你可能感兴趣的:(go模块)