语言go斜杠符号的用法

举报
码乐 发表于 2025/10/02 09:21:56 2025/10/02
【摘要】 简介/ 主要表示 除法运算符,但它的语义会随着操作数的类型而变化。可以分几种情况来看:整数除法 a := 13 / 3 // 结果是 4 b := -13 / 3 // 结果是 -4两边都是整数 → 结果仍然是整数(截断小数部分)。Go 的整数除法是 向零截断(不同于某些语言的向下取整)。 13 / 3 == 4 -13 / 3 == -4 (不是 -5!) 2 常见用途:计...

简介

/ 主要表示 除法运算符,但它的语义会随着操作数的类型而变化。

可以分几种情况来看:

  1. 整数除法

     a := 13 / 3  // 结果是 4
     b := -13 / 3 // 结果是 -4
    

两边都是整数 → 结果仍然是整数(截断小数部分)。

Go 的整数除法是 向零截断(不同于某些语言的向下取整)。

    13 / 3 == 4

    -13 / 3 == -4 (不是 -5!)

2 常见用途:

计算“整除结果”

结合 % 一起用,做区间/周期判断

  q := 13 / 3 // 商 = 4
  r := 13 % 3 // 余 = 1
    1. 浮点数除法

        x := 13.0 / 3.0 // 结果是 4.333333...
      

如果操作数中有浮点数(float32 或 float64),则执行 浮点除法。

结果会是浮点数,不会被截断。

    1. 不同类型之间的除法

Go 不支持隐式类型转换,所以整数和浮点数不能直接相除,必须显式转换:

  x := 13 / 3        // int → 4
  y := 13.0 / 3      // 编译错误,3 默认是 int
  z := 13.0 / float64(3) // 正确 → 4.3333
    1. 复数除法

Go 支持复数类型(complex64、complex128),/ 也可以用于复数:

  c1 := complex(4, 2) // 4 + 2i
  c2 := complex(1, -1) // 1 - i
  res := c1 / c2
  fmt.Println(res) // 输出 (1+3i)

运算规则遵循数学中的复数除法。

错误与边界情况

除数为 0:运行时 panic: runtime error: integer divide by zero

不能对非数值类型使用 /(比如字符串、布尔值等)。

  • 其他语义

/ 在 Go 中没有额外的特殊用法,它仅作为运算符存在(不像 % 在 fmt.Printf 中有格式化意义)。
如果在字符串中看到 /,那只是普通字符,比如路径 “usr/local/bin”,并没有语义扩展。

3小结:

在 Go 中,/ 的语义主要是 除法运算符,具体分为:

整数除法(向零截断)

浮点数除法

复数除法

注意除数为 0 会报错 。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。