美文网首页golang
go基本类型和运算符

go基本类型和运算符

作者: imuzi | 来源:发表于2018-11-01 16:04 被阅读23次

bool

一个简单的列子:

var a bool = ture

bool值只有false和true。两个相同的类型之间可以通过 == 或者 != 来比较获取一个bool值。

比如:

var a = 1
a == 5 //false
a == 1 //true
a != 2 //true
a != 1 //false

go对于值之间的比较非常严格,只有两个相同的类型的值才可以进行比较。如果其中一个值是常量,那么另外一个的值必须是跟该常量类型兼容。
bool的常量和变量也可以通过逻辑运算符 非!和&& 或|| 结合来产生出另一个bool值。

好的命名可以提升代码的可读性 ,对于bool的值,例如is或者Is开开头的IsSorted。

数字类型

整型int和浮点型float

整数:

  • int8(-128 -> 127)
  • int16(-32768 -> 32767)
  • int32(-2,147,483,648 -> 2,147,483,647)
  • int64(-9,223,372,036,854,775,808 -> 9,223,372,036,854,775,807)

无符号整数:

  • uint8(0 -> 255)
  • uint16(0 -> 65,535)
  • uint32(0 -> 4,294,967,295)
  • uint64(0 -> 18,446,744,073,709,551,615)

浮点型(IEEE-754 标准):

  • float32(+- 1e-45 -> +- 3.4 * 1e38)
  • float64(+- 5 1e-324 -> 107 1e308

go中没有float类型,整型的零值为0,浮点型的零值为0.
float32精确到小数点后7位,float64精确到小数点15位。所以在比较浮点数时需要非常小心。

开发中尽量使用float64,因为math包中所有关于数学运算的函数都会要求接收这个类型。

go不允许不同类型之间的混合使用,但是对于常量的限制非常少,所以允许常量之间的混合使用。

package main

func main() {
    var a int
    var b int32
    a = 15
    b = a + a //错误
    b = b + 5 //5是常量
}

复数

go有两种复数:

complex64
complex128

复数用re+imI来表示,re代表实数部分,im代表虚数部分,I代表根号负1。

运算符

逻辑运算符

== , !=, < , <=, > ,>=

算数运算符

二元运算符 + - * /
取余 %
自增自减 (+=, ++) -= *= /= %=

运算符优先级

优先级   运算符
 7      ^ !
 6      * / % << >> & &^
 5      + - | ^
 4      == != < <= >= >
 3      <-
 2      &&
 1      ||

类型别名

当你在使用某个类型时,你可以给他另起一个名字,然后使用这个新名字。

package main

import "fmt"

type newint int

func main() {
    var a newint = 2
    c := a + 2
    fmt.Println("c = %d", c)
}
image

微信搜索「goentry-xyz」,关注公众号「灯下独码」

相关文章

  • go基本类型和运算符

    bool 一个简单的列子: bool值只有false和true。两个相同的类型之间可以通过 == 或者 != 来比...

  • go入门(三)

    本文以流程控制、运算等为主。说一下go中基本的语法糖。 运算符 go中的运算符和java中的基本一致,但没有++a...

  • scala 数据类型和操作符

    1.值类型和引用类型值类型是类类型,没有基本数据类型和包装类之分 操作符 数学运算符:+-*/%关系运算符:< >...

  • 第01天(基本类型、流程控制)_04

    19_类型别名.go 20_运算符.go 21_if的使用.go 22_if_elseif_else的使用.go ...

  • JavaScript基础整理(一)

    数据类型null 和 undefined== 和 ===JS 比较对象和基本类型!! 运算符JavaScript ...

  • go 比较性问题总结

    在 Go 中,数据类型按照比较性可被分为两类: 可比较类型,可比较类型可以使用运算符==和!= 不可比较类型,如果...

  • Go语言的类型系统概览

    本文将介绍go语言中的各种类型和go类型系统中的各种概念。 不知道这些概念,将很难理解go语言。 概念:基本类型 ...

  • 08-Go语言运算符-指趣学院

    算数运算符 算数运算符和C语言几乎一样 注意点:只有相同类型的数据才能进行运算 Go语言中++、--运算符不支持前...

  • Go语言标准库之JSON编解码

    Go语言标准库之JSON编解码 基本的类型 Go语言中的数据类型和JSON的数据类型的关系 bool -> JSO...

  • Go语言标准库之JSON编解码

    Go语言标准库之JSON编解码 基本的类型 Go语言中的数据类型和JSON的数据类型的关系 bool -> JSO...

网友评论

    本文标题:go基本类型和运算符

    本文链接:https://www.haomeiwen.com/subject/otuxxqtx.html