go模块

作者: 一步到胃 | 来源:发表于2021-07-26 00:41 被阅读0次

    创建模块

    创建目录: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模块

          本文链接:https://www.haomeiwen.com/subject/brrwmltx.html