变量
使用var关键字是Go最基本的定义变量方式,与C语言不同的是Go把变量类型放在变量名后面
//定义一个名称为“variableName”,类型为"type"的变量 var variableName type //定义三个类型都是“type”的三个变量 var vname1, vname2, vname3 type //初始化“variableName”的变量为“value”值,类型是“type” var variableName type = value /* 定义三个类型都是"type"的三个变量,并且它们分别初始化相应的值 vname1为v1,vname2为v2,vname3为v3 */ var vname1, vname2, vname3 type= v1, v2, v3
说明:Go对于已声明但未使用的变量会在编译阶段报错
常量
const constantName = value //如果需要,也可以明确指定常量的类型: const Pi float32 = 3.1415926
内置基础类型
1:布尔
在Go中,布尔值的类型为bool,值是true或false,默认为false
//示例代码 var isActive bool // 全局变量声明 var enabled, disabled = true, false // 忽略类型的声明 func test() { var available bool // 一般声明 valid := false // 简短声明 available = true // 赋值操作 }
2:数值类型
整数类型有无符号和带符号两种。Go同时支持int和uint。Go里面常用的有如下类型:int8, int16, int32, int64和uint8, uint16, uint32, uint64
需要注意的一点是,这些类型的变量之间不允许互相赋值或操作,不然会在编译时引起编译器报错.
var a int8 var b int32 c:=a + b
浮点数的类型有float32和float64两种(没有float类型),默认是float64。
3:字符串
Go中的字符串都是采用UTF-8字符集编码。字符串是用一对双引号(”")或反引号(` `)括起来定义,它的类型是string
在Go中字符串是不可变的,例如下面的代码编译时会报
var s string = "hello" s[0] = 'c'
但如果真的想要修改怎么办呢?下面的代码可以实现:
s := "hello" c := []byte(s) // 将字符串 s 转换为 []byte 类型 c[0] = 'c' s2 := string(c) // 再转换回 string 类型 fmt.Printf("%s\n", s2)
Go中可以使用+操作符来连接两个字符串:
s := "hello," m := " world" a := s + m fmt.Printf("%s\n", a)
如果要声明一个多行的字符串怎么办?可以通过`来声明:
m := `hello world`
` 括起的字符串为Raw字符串,即字符串在代码中的形式就是打印时的形式,它没有字符转义,换行也将原样输出
错误类型
Go内置有一个error类型,专门用来处理错误信息,Go的package里面还专门有一个包errors来处理错误
err := errors.New("emit macho dwarf: elf header corrupted") if err != nil { fmt.Print(err) }
简单类型就先说到这儿吧,下一节说复杂的.
5 ways to decide on your own type
gay porn Should You Take A Blue Diamond Engagement Ring
snooki weight lossCostume Jewelry Hot Sold in China Market