官方教程:Go泛型入门

前言

本周Go官方重磅发布了Go 1.18 beta 1版本,正式支持泛型。作为Go语言诞生12年以来最大的功能变革,官方配套推出了一个非常细致的Go泛型入门基础教程,通俗易懂。

本人对Go官方教程在翻译的基础上做了一些表述上的优化,以飨读者。

教程内容

这个教程主要介绍Go泛型的基础知识。通过泛型,你可以声明和使用泛型函数,在调用函数的时候,允许使用不同类型的参数作为函数实参。

在这个教程里,我们先声明2个简单的非泛型函数,然后在一个泛型函数里实现这2个函数的逻辑。

接下来通过以下几个部分来进行讲解:

  1. 为你的代码创建一个目录

  2. 实现非泛型函数

  3. 实现一个泛型函数来处理不同类型

  4. 调用泛型函数的时候移除类型实参

  5. 声明类型限制(type constraint)

注意:关于Go的其它教程,大家可以参考Tutorials - go.dev

注意:大家可以使用Go playground的Go dev branch模式来编写和运行你的泛型代码,地址Go Playground - go.dev

准备工作

  • 安装Go 1.18 Beta 1或者更新的版本。安装指引可以参考下面的介绍

  • 有一个代码编辑工具。任何文本编辑器都可以。

  • 有一个命令行终端。Go可以运行在Linux,Mac上的任何命令行终端,也可以运行在Windows的PowerShell或者cmd之上。

安装和使用beta版本

这个教程需要使用Go 1.18 Beta 1版本了的泛型功能。使用如下步骤,安装beta版本

  1. 使用下面的命令安装beta版本

    $ go install golang.org/dl/go1.18beta1@latest
  2. 运行如下命令来下载更新

    $ go1.18beta1 download
  3. 使用beta版本的go命令,不要去使用release版本的go命令

    你可以通过直接使用go1.18beta1命令或者给go1.18beta1起一个简单的别名

    • 直接使用go1.18beta1命令

      $ go1.18beta1 version
    • go1.18beta1命令起一个别名

      $ alias go=go1.18beta1
      $ go version

    下面的教程都假设你已经把go1.18beta1命令设置了别名go

为你的代码创建一个目录

首先创建一个目录用于存放你写的代码。

  1. 打开一个命令行终端,切换到你的home目录

    • 在Linux或者Mac上执行如下命令(Linux或者Mac上只需要执行cd就可以进入到home目录)

      cd
    • 在Windows上执行如下命令

      C:\> cd %HOMEPATH%
  2. 在命令行终端,创建一个名为generics的目录

    $ mkdir generics
    $ cd generics
  3. 创建一个go module

    运行go mod init命令,来给你的项目设置module路径

    $ go mod init example/generics

    注意:对于生产代码,你可以根据项目实际情况来指定module路径,如果想了解更多,可以参考Managing dependencies - go.dev

接下来,我们来使用map写一些简单的代码。

实现非泛型函数<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值