zoukankan      html  css  js  c++  java
  • 教程:创建Go模块

    这是介绍Go语言特性的第一部分,如果刚刚接触Go,请务必去看 前文,那里介绍了go 命令行,Go模块,和非常简单的Go代码,

    本章,你将创建两个模块, 第一个是用来引入其他库或应用. 第二个是一个使用第一个模块的调用器,

    本章罗列了七个主题,每个主题都包含了语言的不同特性:

    1. 创建一个模块--写一个能被其他模块调用的简单模块
    2. 从另一个模块调用你的代码--引入你的新模块
    3. 返回并处理错误--一个简单的错误处理
    4. 返回一个随机问候--用切片slices处理数据<python中也有切片函数.>
    5. 使用测试--使用Go的测试单元 来测试你的代码
    6. 编译和安装应用--编译并安装你的本地代码

    先决条件

    • 一些编程经验. 这些代码虽然很简单,但是这能帮你了解一些基本知识,如:函数,循环和数组
    • 找一个代码编辑器. 任何文本编辑器都能很好的支持GO,目前最受欢迎的编辑器是VSCode(免费)和Vim(免费)
    • 命令行终端.Go可以运行在Mac,linux,Windows上的任何终端工具 

    创建一个能被他人使用的模块

    在一个模块中,你为一组离散且有用的功能收集一个或多个相关包,比如,你可以创建一个模块包,它能够完成财务分析功能,以供其他编写财务系统的人调用,

    Go代码被包含在包中,包在模块中,为了运行代码,你的模块需要指定依赖项,包括Go版本及其所需的其他模块。

    当你的模块添加或改进了功能时,你需要发布新的版本号.这样其他开发者在上线之前就能测试新版本

    1.2,打开命令行,并创建 greetings文件夹. <原文啰里啰唆一大堆>

    3.使用 go mod init 命令 初始化模块
      运行go mod init 命令,给他一个模块路径,比如: example.com/greeting.如果你要发行模块,这个路径必须是能此模块能被下载的路径,通常,是你的代码库

    $ go mod init example.com/greetings
    go: creating new go.mod: module example.com/greetings

    go mod init 会创建一个go.mod文件,用来跟踪你的代码依赖性,目前为止,这个文件仅仅包含你的模块名称和你代码所支持的Go版本,当你增加依赖时,go.mod文件将列出你代码所依赖的版本,这将保持构建的可复制性,并让你能直接控制要使用的模块版本<有点像,webpack的  package.json 的功能>

    4.新建文件并命名为greeting.go
    5.粘贴下面内容感到greeting.go内

    package greetings
    
    import "fmt"
    
    // Hello returns a greeting for the named person.
    func Hello(name string) string {
        // Return a greeting that embeds the name in a message.
        message := fmt.Sprintf("Hi, %v. Welcome!", name)
        return message
    }

    这是模块内的第一份代码,这会返回给调用者一个问候,接下来,会写一个调用这个函数的代码

    上面代码中,你

    • 声明了一个greetings 包,用来表现相关功能
    • 实现了一个Hello函数并返回问候
      这个函数有一个名为name 的stirng类型的参数,并且能返回一个string,在Go语言中,首字母大写的函数名称能被其他包调用,这个特性在Go中称为 输出命名(exported name) ,可以阅读 "输出命名" 获得更多信息
    •  声明一个名为 massage的变量 用来保存你的问候
        在Go中, :=操作符能让声明和初始化在一行内表现出来,(Go使用右侧的值来判断出变量的类型).常规写法,是这样的:
    • var message string message = fmt.Sprintf("Hi, %v. Welcome!", name)
    • 使用fmt包中的Sprintf 函数来创建出问候消息, 第一个参数是一个格式化字符串,Sprintf用name参数的值替换%v格式谓词。插入name参数的值完成问候语文本。
    • 向调用者返回格式化后的问候文本

    接下来,你就可以在另一个模块中调用这个函数了.

     

  • 相关阅读:
    设计模式——原型模式
    设计模式——复合模式
    设计模式——桥接模式
    建筑模式
    设计模式——单键模式
    工厂模式
    抽象工厂
    设计模式——适配器模式
    一个简单的文件上传功能控件(原创)
    算法题:用php生成excel列
  • 原文地址:https://www.cnblogs.com/yaoshi641/p/15226384.html
Copyright © 2011-2022 走看看