go语言中if语句用法实例

 更新时间:2015年02月25日 11:48:01   作者:不是JS  
这篇文章主要介绍了go语言中if语句用法,以实例形式分析了if语句的定义及使用技巧,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了go语言中if语句用法。分享给大家供大家参考。具体分析如下:

if 语句看起来跟 C 或者 Java 中的一样,除了没有了 ( ) 之外(甚至强制不能使用它们),而 { } 是必须的。

复制代码 代码如下:
package main
import (
    "fmt"
    "math"
)
func sqrt(x float64) string {
    if x < 0 {
        return sqrt(-x) + "i"
    }
    return fmt.Sprint(math.Sqrt(x))
}
func main() {
    fmt.Println(sqrt(2), sqrt(-4))
}

跟 for 一样,if 语句可以在条件之前执行一个简单的语句。

由这个语句定义的变量的作用域仅在 if 范围之内。

(在最后的 return 语句处使用 v 看看。)

复制代码 代码如下:
package main
import (
    "fmt"
    "math"
)
func pow(x, n, lim float64) float64 {
    if v := math.Pow(x, n); v < lim {
        return v
    }
    return lim
}
func main() {
    fmt.Println(
        pow(3, 2, 10),
        pow(3, 3, 20),
    )
}

 
在 if 的简单语句处定义的变量同样可以在任何对应的 else 块中使用。
复制代码 代码如下:
package main
import (
    "fmt"
    "math"
)
func pow(x, n, lim float64) float64 {
    if v := math.Pow(x, n); v < lim {
        return v
    } else {
        fmt.Printf("%g >= %g\n", v, lim)
    }
        // 不能在这里使用 v,因此
    return lim
}
func main() {
    fmt.Println(
        pow(3, 2, 10),
        pow(3, 3, 20),
    )
}

希望本文所述对大家的Go语言程序设计有所帮助。

相关文章

  • go实现自动复制U盘小工具demo

    go实现自动复制U盘小工具demo

    这篇文章主要为大家介绍了go实现自动复制U盘小工具demo,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • go中值传递和指针传递的使用

    go中值传递和指针传递的使用

    在Go语言中,使用&和*可以分别取得变量的地址和值,解引用未初始化或为nil的指针会引发空指针异常,正确的做法是先进行nil检查,此外,nil在Go中用于多种类型的空值表示,值传递和指针传递各有适用场景,通常小型数据结构优先考虑值传递以减少解引用开销
    2024-10-10
  • 详解如何利用GORM实现MySQL事务

    详解如何利用GORM实现MySQL事务

    为了确保数据一致性,在项目中会经常用到事务处理,对于MySQL事务相信大家应该都不陌生。这篇文章主要总结一下在Go语言中Gorm是如何实现事务的;感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助
    2022-09-09
  • Golang 中的 条件变量(sync.Cond)详解

    Golang 中的 条件变量(sync.Cond)详解

    这篇文章主要介绍了Golang 中的 条件变量(sync.Cond)详解的相关资料,需要的朋友可以参考下
    2022-12-12
  • Go中time.RFC3339 时间格式化的实现

    Go中time.RFC3339 时间格式化的实现

    这篇文章主要介绍了Go中time.RFC3339 时间格式化的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Golang time包中的函数用法详解

    Golang time包中的函数用法详解

    在日常开发过程中,会频繁遇到对时间进行操作的场景,使用 Golang 中的 time 包可以很方便地实现对时间的相关操作,接下来的几篇文章会详细讲解 time 包,本文讲解一下 time 包中的函数,需要的朋友可以参考下
    2023-08-08
  • go打包aar及flutter调用aar流程详解

    go打包aar及flutter调用aar流程详解

    这篇文章主要为大家介绍了go打包aar及flutter调用aar流程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • Golang必知必会之Go Mod命令详解

    Golang必知必会之Go Mod命令详解

    go mod可以使项目从GOPATH的强制依赖中独立出来,也就是说你的项目依赖不再需要放在在GOPATH下面了,下面这篇文章主要给大家介绍了关于Golang必知必会之Go Mod命令的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • Go结合Gin导出Mysql数据到Excel表格

    Go结合Gin导出Mysql数据到Excel表格

    本文主要介绍了Go结合Gin导出Mysql数据到Excel表格,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • 深入了解Golang interface{}的底层原理实现

    深入了解Golang interface{}的底层原理实现

    在 Go 语言没有泛型之前,接口可以作为一种替代实现,也就是万物皆为的 interface。那到底 interface 是怎么设计的底层结构呢?下面咱们透过底层分别看一下这两种类型的接口原理。感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助
    2022-10-10

最新评论