bool
string
int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64 uintptr
byte // uint8 的别名
rune // int32 的别名
// 表示一个 Unicode 码点
float32 float64
complex64 complex128
导图1.jpgbool
package main
import (
"fmt"
"unsafe"
)
func main() {
//不可以用0 或者 非0 代替 false 或 true
var b = false
fmt.Println("b=", b)
fmt.Println("b的占用空间 = ",unsafe.Sizeof(b))
}
char
package main
import (
"fmt"
)
func main() {
var c1 byte = 'a'
var c2 byte = '0'
fmt.Println(c1)
fmt.Println(c2)
fmt.Printf("c1 = %c c2 = %c \n", c1, c2)
var c3 int = '白'
fmt.Printf("c3 = %c c3对应的码值 %d \n", c3, c3)
var c4 int = 22269
fmt.Printf("c4 = %c\n", c4)
// 给变量赋值 格式化输出是%c,会输出该数字对应的Unicode字符
var n1 = 10 + 'a'
fmt.Println("n1=",n1)
//字符类型可以进行运算 运算时按码值进行
}
// 字符常量用单引号括起来
//go语言 用utf-8 编码 英文1个字节 汉字3个字节
float
package main
import (
"fmt"
)
func main() {
// 位数部分可能丢失部分精度
var num1 float32 = -123.00000901
var num2 float64 = -123.00000901
fmt.Println(num1)
fmt.Println(num2)
// golang 的浮点型默认声明为float64
var num3 = 1.1
fmt.Printf("num3 的数据类型 %T \n", num3)
num4 := .123
fmt.Println(num4)
num5 := 5.1234e2
fmt.Println(num5)
// 科学计数法的形式
num6 := 5.1234E-2
fmt.Println(num6)
}
string
package main
import (
"fmt"
)
func main() {
//go的字符串是单个字节连接起来的
// go 中字符串不可变 一旦赋值字符串无法修改
// 双引号 "" 会识别转义字符
// 反引号 `` 以字符串的原生形式输出 包括换行和特殊字符 可以实现防止攻击 输出源码 等效果
str1 := "abc \nabc"
fmt.Println(str1)
str2 := "hello" + "world" +
"你好" + "世界"
fmt.Println(str2)
}
基本数据类型的默认值
数据类型 | 默认值 |
---|---|
int | 0 |
float | 0 |
string | "" |
bool | false |
package main
import (
"fmt"
)
func main() {
var a int
var b float32
var c float64
var israin bool
var name string
fmt.Printf("a=%d,b=%v,c=%v,israin=%v,name=%v", a, b, c, israin, name)
// a=0,b=0,c=0,israin=false,name=
}
网友评论