为了账号安全,请及时绑定邮箱和手机立即绑定

Go 快速入门指南 - 类型和运算符优先级

标签:
Go

常量生成器

关键字 iota, 创建一系列相关的值,省略逐个定义。

语法规则

const (
    常量1 [常量类型] = iota
    常量2
    常量3
    常量4
    常量5
    ...
)

例子

package main

const (
    Sunday int = iota
    Monday      // 1
    Tuesday     // 2
    Wednesday   // 3
    Thursday    // 4
    Friday      // 5
    Saturday    // 6
)

// $ go run main.go
// 输出如下 
/**
  0
  1
  2
  3
  4
  5
  6
*/

在上面的声明中,Sunday 的值为 0, Monday 的值为 1, 以此类推。

自定义类型

关键字 type, 主要用来对同一种类型进行抽象。

语法规则

type 自定义类型名称 具体类型

# 例子
type Number       int

同时定义多个自定义类型

package main

type (
    Number int
    Name string
    Has bool
)

嵌套定义

可以基于已有的自定义类型,定义一个新的自定义类型。

package main

type (
    Number int
    Name string
    Has bool
)

type Number2 Number

使用规则

和变量使用规则一样。

package main

type (
    Number int
    Name string
    Has bool
)

func main() {
    var x Number = 1024
    var n Name = "abc"
    var h Has = true

    println(x)
    println(n)
    println(h)
}

// $ go run main.go
// 输出如下 
/**
    1024
    abc
    true
*/

运算符优先级

从高到低

    1. ||
    1. &&
    1. <- (通道操作符,后面会讲到,暂时先忽略)
    1. == != < <= > >=
    1. + - | ^
    1. * / % << >> & &^
    1. ^ !

最佳实践

通过使用括号来提升某个表达式的运算优先级,提高代码可读性。

例子

package main

func main() {
    println(((1+2)*3+3)/4 + 5)
}

// $ go run main.go
// 输出如下 
/**
    8
*/
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消