写点什么

Go 语言入门 01—数据类型

作者:良猿
  • 2022-10-20
    湖北
  • 本文字数:1801 字

    阅读完需:约 1 分钟

Go语言入门01—数据类型

常见基本数据类型

uint8:无符号 8 位整形,取值范围:0-255

uint16:无符号 16 位整形,取值范围:0-65535

uint32:无符号 32 位整形,取值范围:0-4294967295

uint64:无符号 64 位整形,取值范围:0-18446744073709551615

uint:32 或 64 位

int8:有符号 8 位整形,取值范围:-128-127

int16:有符号 16 位整形,取值范围:-32768-32767

int32:有符号 32 位整形,取值范围:-2147483648-2147483647

int64:有符号 64 位整形,取值范围:-9223372036854775808-9223372036854775807

int:与 uint 一样大小

byte:类似 uint8

rune:类似 int32

float32:32 位浮点类型

float64:64 位浮点类型

string:字符串

bool:布尔类型,取值 true 或 false

变量

Go 语言变量名由字母、数字、下划线组成,首字符不能为数字,不能使用关键字作为变量名。

Go 语言中的 25 个关键字:

关键字 var

关键字 var 可以用来声明变量,在使用 var 声明变量时,可以指定对应的数据类型,或者在声明变量时直接初始化也可不指定数据类型,go 会自动适配数据类型。

指定数据类型

变量声明

// 声明单个变量var 变量名 变量类型// 声明多个变量var 变量名1, 变量名2 变量类型
复制代码

初始化变量

// 声明并初始化单个变量var 变量名 变量类型 = 值// 声明并初始化多个变量var 变量名1, 变量名2 变量类型 = 值1, 值2
复制代码

示例 1,当只声明不初始化变量时,则输出默认值,int 类型默认值为 0,string 默认值为""空字符串,bool 类型默认 false

package main
import "fmt"
func main() { var s string fmt.Println(s) // 输出 var a, b int fmt.Println(a, b) // 输出0 0}
复制代码

示例 2:声明并初始化变量

package main
import "fmt"
func main() { var s string = "hello world" fmt.Println(s) // 输出hello world var a, b int = 1, 2 fmt.Println(a, b) // 输出1 2}
复制代码

不指定数据类型

var 变量名 = 值
复制代码

示例:

package main
import "fmt"
func main() { var s = "hello world" fmt.Println(s) // 输出hello world var a, b = 1, 2 fmt.Println(a, b) // 输出1 2}
复制代码

使用:=

在变量声明初始化时,除了使用 var 关键字之外,还可以使用 := 符号直接进行变量的初始化。

变量名 := 值
复制代码

示例:

package main
import "fmt"
func main() { s := "hello world" fmt.Println(s) // 输出hello world a, b := 1, 2 fmt.Println(a, b) // 输出1 2}
复制代码


使用该方法,如果某个变量在之前已经使用 var 的方式进行了声明,再使用:=方式会出现编译错误,但是可以使用=进行复制不会报错。

多变量声明

该方法声明变量多用于声明全局变量


var(    变量名1 变量类型 = 值1    // 同样可以不指定变量类型,使用 变量名 = 值 的形式,但是不能使用 :=     变量名2 变量类型 = 值2)
复制代码

示例:

package main
import "fmt"
var ( s string = "hello world" a int = 1 b int = 2)
func main() { fmt.Println(s) // 输出hello world fmt.Println(a, b) // 输出1 2}
复制代码

变量注意事项

  1. 在 GO 语言中,如果声明了一个变量,就必须使用,如果变量声明了但是不使用就会报错。

  2. 全局变量可以只声明不使用不会报错。

常量

常量就是不会改变的值,一般用于用于在程序运行期间不会被改变的值,常量和变量的声明类似,只是将var关键字变成了const。与变量不同的是,常量在声明的时候必须赋值。

使用 const 定义常量

示例:

package main
import "fmt"
// 多常量声明const ( s = "hello world" a = 1)
func main() { const PI = 3.1415 // 不指定常量类型 const E float32 = 2.7182 // 指定常量类型 fmt.Println(s) // 输出hello world fmt.Println(a) // 输出1 fmt.Println(PI) // 输出3.14 fmt.Println(E) // 输出2.7182}
复制代码

iota

iota 是 Go 语言中的常量计数器,只能在常量的表达式中使用,iota 在 const 出现时被初始化为 0,在 const 中每增加一个常量定义,则 iota 加 1。

示例:

package main
import "fmt"
// 多常量声明const ( a = 1 // iota = 0 b = 2 // iota = 1 c = iota // iota = 2)
func main() { const d = iota // iota = 0 fmt.Println(d) // 输出0 fmt.Println(c) // 输出2}
复制代码


发布于: 6 小时前阅读数: 7
用户头像

良猿

关注

还未添加个人签名 2019-02-13 加入

还未添加个人简介

评论

发布
暂无评论
Go语言入门01—数据类型_Go_良猿_InfoQ写作社区