go语言——数据类型

Posted tomyyyyy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go语言——数据类型相关的知识,希望对你有一定的参考价值。

go语言——数据类型

变量

注意事项

  • 变量必须先声明
  • go语言是静态语言,要求变量声明类型和赋值类型必须一致
  • 变量名在同一作用域不能冲突
  • 简短定义方式不能定义全局变量
  • 变量定义之后,必须使用,否则无法通过编译
  • 简短定义左边变量必须有新的

声明变量

第一种,指明变量类型

var name type
name = value

//写在一行
var name int = 30

第二种,自行判断变量类型

var name = value

第三种,简短声明

name := 20

第四种,集合类型

//只声明
var (
	name1 type1
	name2 type2
)

//同时赋值
var (
	name1 = 30
	name2 = "dsafgsa"
)

常量

注意事项

  • 常量声明之后不适用,可以编译
  • 常量如果不初始化,类型和值与上一行一致
  • 类型只能为正数、小数、字符串

常量声明

常量是一个在程序运行时,不会被修改的量

const HELLO string = "hello world"
const PI = 3.14
const (
	a = 1
	b = 2
	c = 3
)

iota

iota是一个特殊的常量,可以认为是一个可以被编译器修改的常量

每当定义一个const,iota的初始值为0,每当定义一个常量,iota的值自动加一,直到下一个const出现,清零

iota可以用作枚举

package main

import "fmt"

func main() {
	const (
		a = iota //iota = 0
		b   //1
		c   //2
		d = "hah" // iota = 3
		e   //hah  iota=4
		f = 100 //iota=5
		g   //100  iota=100
	)

	fmt.Println(a,b,c,d,e,f,g)
}

输出值

0 1 2 hah hah 100 100

数据类型

整形

int
int8
int16
int32
int64
uint8
uint16
uint32
uint64
byte //uint8
rune //int32
int //根据系统位数确认是int32,int64

浮点型

float32
float64
//%f默认为小数点后6位

字符串

概念:多个byte的集合

单引号和双引号的区别

  • ‘‘默认类型为int32,用于单个字符

  • ""类型为string,用于字符串

以上是关于go语言——数据类型的主要内容,如果未能解决你的问题,请参考以下文章

你知道的Go切片扩容机制可能是错的

Go语言从入门到放弃 数据类型

[Go] 通过 17 个简短代码片段,切底弄懂 channel 基础

Go语言基础语法(一)

[日常] Go语言圣经--作用域,基础数据类型,整型

GO语言学习Go 语言数据类型