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

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

人生(杂谈)  /  管理员 发布于 1个月前   141

主人公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语言中日期时间戳比较功能示例代码
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 如果VPN“翻墙”被全面取缔,“刚需”用户将何去何从?(0个评论)
    • 2022 年 Laravel 状况调查(0个评论)
    • 来自一位国外前端程序员学习go语言的功能第三部分(0个评论)
    • 2022年6月13日是一个唐山“起飞”的日子,百度热搜爆了(0个评论)
    • 国内提供网络“翻墙”服务相关行为定性及法律适用(0个评论)
    • 近期文章
    • GnuPG(GPG)生成用于替代SSH密钥的子密钥:签名、加密、鉴权及SSH验证(0个评论)
    • GnuPG(GPG)密钥创建的流程步骤(0个评论)
    • Laravel 9.24版本发布(0个评论)
    • windows系统phpstudy环境中安装amqp拓展流程步骤(0个评论)
    • windows10+docker desktop使用docker compose编排多容器构建dnmp环境(0个评论)
    • windows10+docker desktop运行laravel项目报错:could not find driver...(0个评论)
    • windows10+docker desktop报错:docker: Error response from daemon: user declined directory sharing(0个评论)
    • go语言中Pat多路复用器路由功能示例代码(0个评论)
    • go语言中HttpRouter多路复用器路由功能示例代码(0个评论)
    • js中使用Push.js通知库将通知推送到浏览器(0个评论)
    • 近期评论
    • nkt 在

      阿里云香港服务器搭建自用vpn:Shadowsocks使用流程步骤中评论 用了三分钟就被禁了,直接阿里云服务器22端口都禁了..
    • 熊丽 在

      安装docker + locust + boomer压测环境实现对接口的压测中评论 试试水..
    • 博主 在

      阿里云香港服务器搭建自用vpn:Shadowsocks使用流程步骤中评论 @test  也可能是国内大环境所至,也是好事,督促你该研究学习新技术..
    • test 在

      阿里云香港服务器搭建自用vpn:Shadowsocks使用流程步骤中评论 打了一次网页,然后再也打不开了。。是阿里云的缘故吗?..
    • 博主 在

      centos7中Meili Search搜索引擎安装流程步骤中评论 @鹿   执行以下命令看看你的2.27版本是否存在strin..
    • 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
    Top

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

    侯体宗的博客