首页 > 其他 > 详细

go数据类型&iota

时间:2019-11-28 18:01:00      阅读:86      评论:0      收藏:0      [点我收藏+]

int 系列: 有符号

uint 系列: 无符号

float 系列:只有float32 和 float64

var定义时,float必须指定是32还是64,int和uint可以不指定

int8 ===1

int32 === 4

int64 ===8

占用内存数

reflect.TypeOf(i): 查看i的类型

unsafe.Sizeof(i): 查看i内存占用大小

类型零值

数值(复数)类型-0, bool-False , string- 空字符串

type *** int32     var a int32

*** 和 a不是同一个类型

变量和常量

同一行: var a, b, c int = 1,2,3 或者 a, b:=1,2(函数体内,var声明的全局变量)

大写字母开头变量可在其他包里读取到,小写字母开头为私有变量

var a,b,c int =1,2,3  可以变成 var a,b,c =1,2,3 (省略类型) 还可以变成 a,b,c :=1,2,3(省略掉var)
不过要注意的是:var只能在函数体内做局部变量时省略,而数据类型都可以省略
 "_"相当于一个垃圾桶,把不要的值丢到垃圾桶里

const *** 【type】= *****       显式常量

const *** = *****          隐式常量

 

iota        只能在常量定义中使用

iota遇到const是会重置为0, 在const声明变量是,每增加一行,iota值会加1

如:const a = iota

  const b = iota

iota值为0

const (

  a = iota

  b = iota

此时iota值为1

跳值使用iota使用_来达到目的:

package main
import "fmt"
const (
a = iota
b = iota
_
c = iota
)
func main() {
fmt.Println("hello world")
fmt.Println(b)
fmt.Print(c)
}//a为0.b为1, c为3
当常量表达式为空时,会自动继承上一个存在非空的表达式。
const (
  a = iota * 2
  b
  c
)b, c会继承上一级的iota*2

go数据类型&iota

原文:https://www.cnblogs.com/zjyss/p/11951649.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!