码迷,mamicode.com
首页 > 编程语言 > 详细

golang语言学习第二课:变量类型及常量与枚举

时间:2018-12-05 23:20:23      阅读:341      评论:0      收藏:0      [点我收藏+]

标签:类型   大写   clang   color   import   als   string   int   强制   

go语言的变量类型:

  • bool (true为0,false不等于0),
  • string 
  • int 分好多种int,有点头晕,但用默认的int就足够了,根据机器判断,是32位的用int32,是64位的用int64.
  • byte, 又是uint8的别名。
  • rune(类似char,但是是utf-8编码的char),又是int32的别名。
  • go语言没有float,只有float32, float 64(即使在32位的架构上还是64位)
  • go语言原生支持复数类型,类似python, python也支持复数。go语言的复数类型有2种:complex64, complex128。一般程序其实很少用的上

 

golang类型转换是强制的,不能隐式转换。

go语言定义常量

定义常量: const 常量名, 数据类型(类型可省略,具体到用的时候golang可自动规定)

注意:const 后面的常量名在go语言可以不用大写,在C里强制要大写的,go的大写是有特殊含义的,并且大小写是敏感的。

  function changliang ( ) {

  const (

    a, d = 3, 4  //常量可以规定类型,也可以不规定,不规定类似,类型是不确定的,此处a,d既可以做int任何一种类型, 又可以做float32, float64任何一种类型。

    b string ="hello"

  )       

  var c int

  c =  int ( math.Sqrt (a*a + b*b) )  //此处a,b类型为float64, 没规定类型直接放进来,math.Sqrt函数里是float64类型,就自动规定为float64类型。

  fmt.Println(c, b)

  }

枚举类型:

  const (

  python = iota  //从0开始自增,并且iota支持参加运算,具体看代码区域块里的代码

       _                 //golang特殊字符, 赋值后忽略 

  golang      // 值为2

       csharp     // 值为3

)

 

详见代码:

package main

import (
    "fmt"
    "math"
)

func main() {
    consttest()
    constiota()
    changliang()
}
func changliang()  {
    const(
        a, d = 3, 4
        b string = "gooing"
    )
    var c int
    fmt.Println(a, b)
    c = int(math.Sqrt(a*a + d*d)) //此处a,d为float64类型
    fmt.Println(c)

}
func consttest()  {
    const (
        python = iota
        golang
        _
        cpp
        clang

    )
    fmt.Println(python,golang,cpp,clang )

}

func constiota()  {
    //Byte, KB,MB, GB,TB
    const(
        b =1 << (10 * iota)  //iota能够参与运算
        kb
        mb
        gb
        tb

    )
    fmt.Println(b,kb,mb,gb,tb)
}

 

golang语言学习第二课:变量类型及常量与枚举

标签:类型   大写   clang   color   import   als   string   int   强制   

原文地址:https://www.cnblogs.com/golangxiong/p/10074079.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!