侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

来自一位国外前端程序员学习go语言的功能第三部分

人生(杂谈)  /  管理员 发布于 2年前   605

主人公Magda Rosłaniec是一位来自波兰苏瓦基的前端开发人员,

我在网上看到她的文章我觉得很有意思,所以记录顺便复习一下里面的go基础知识


前面两篇文章是写着第一天,第二天,后面我在dev.to上面她把这关键字改成了第一、二、三部分

我这里也改成第三部分,之前的就不变了


我今天的主题是函数。

函数是 Go 编程的核心。

1.我们可以声明自己的函数并在包中的每个位置调用它们。

2.通常,函数的名称以小写字母开头,但名称以大写字母开头的函数可以在包外使用。

3.每个函数可以接受零个或多个参数。如果我们的函数接受参数,我们必须声明它们的类型。

  我们将参数的名称及其类型写在函数名称后面的括号中。如果我们想传递多个参数,我们需要用逗号分 隔每个声明。

 func sum(a int, b int) {
    fmt.Println(a + b)
 }

如果参数是相同的类型,我们可以将类型添加到

只有最后一个。 func sum(a, b int) 这意味着两者参数的类型相同。


4.现在,我们可以在 main() 函数中调用我们的函数。

我们不能忘记传递参数(当然,如果该功能需要任何)。

 package main 
    import “fmt” 
 func main() {
    sum(5, 7)
 }
 func sum(a int, b int) {
    fmt.Println(a + b)
 }

如果我们希望能够使用函数的输出,我们需要返回一些东西。 仅打印结果的功能不会“持续很长时间”。 

在上面的示例中,该函数仅打印两个数字的总和,但随后会删除结果。 

如果我们想构建一个简单的计算器,我们的 sum 函数可能会非常有用,但前提是我们添加了 return 语句。 

还有一件事。 

我们已经声明了函数采用的参数类型,现在我们还必须声明函数返回值的类型。 

我们在带参数的括号之后添加它。 

让我们将这两个元素添加到我们的 sum 函数中:

func sum (a, b int) int {
    return a + b 
 }


函数可以返回多个值,因此我们必须声明所有这些值。 

然后我们将它们全部放入另一对括号中。 我们来看看除法函数。 

在我们的计算器上工作时,我们应该记住不可能被零除。 

我们必须处理这种情况。

  func divide(a, b float64) (float64, error) {
    if b == 0.0 {
        return 0, errors.New(“You can’t divide by  zero”) //1
    }
 return a / b, nil //2
 }

现在,当我们声明我们的函数将返回两个值时,我们必须在每个 return 语句中都有这两个值。 

这就是为什么在第一个 if 块 (1) 中我们有两个元素,其中一个可以为零,另一个是有关错误的信息。

如果参数 b 不等于 0,则将执行下一个块 (2)。 

这里我们还需要返回 2 个值:

除法的结果和 nil。 Nil 告诉我们,我们的函数没有错误。


我认为这些是 Go 中函数的基础。

(如果你能看到 li 元素的数量很奇怪 - 就像一堆 1 - 我不知道如何在这里修复它)


  • 上一条:
    Laravel9 Eloquent WHERE Like搜索查询示例代码
    下一条:
    go语言中日期时间戳比较功能示例代码
  • 昵称:

    邮箱:

    1条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 学历:一种延缓就业设计,生活需求下的权衡之选(2个评论)
    • 戒毒的程序员Andreas Kling,全职开发操作系统6年后,决定转战浏览器(0个评论)
    • Gap Year:中国环境下的优缺点及建议(0个评论)
    • 翻墙与VPN软件的合理使用:劝告与建议(0个评论)
    • 近期文章
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-06
    • 2017-08
    • 2020-03
    • 2020-04
    • 2020-06
    • 2020-08
    • 2021-04
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-03
    • 2022-04
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-07
    • 2023-08
    • 2023-09
    • 2023-10
    • 2023-11
    • 2024-02
    • 2024-04
    • 2024-05
    • 2024-06
    • 2025-01
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客