Go语言学习笔记之基本数据类型
2017-11-15 21:38
746 查看
数据类型
在Go语言中,大致有以下几种数据类型:布尔类型(bool)
整型(int,int8,int16,int32,int64)
浮点型(float32,float64)
复数类型(complex64)
字符串(string)
字符类型(byte)
数组
数组切片
map
等等
布尔类型
定义布尔类型使用关键字bool,预定义值为
true和
false。
var v1 bool v1 = true v2 := (1 == 3) // v2也会被推导为bool类型 // 错误用法 var b bool b = 1 b = bool(1) // 编译错误
整型
类型 | 长度 | 值范围 |
---|---|---|
int8 | 1 | -128 ~ 127 |
uint8(byte) | 1 | 0 ~ 255 |
int16 | 2 | 32768 ~ 32767 |
uint16 | 2 | 0 ~ 65535 |
int32 | 4 | -2147483648 ~ 2147483647 |
uint32 | 4 | 0 ~ 4294967295 |
int64 | 8 | -9223372036854775808 ~ 9223372036854775807 |
uint64 | 8 | 0 ~ 18446744073709551615 |
int | 平台相关 | 平台相关 |
uint | 平台相关 | 平台相关 |
uintptr | 同指针 | 在32位平台上是4字节,64位平台上为8字节 |
1. int 和 int32 在Go语言被认为是两种不同的类型,编译器也不会帮你自动做类型转换。
var v1 int32 v2 := 64 v1 = v2 // 编译错误
2.两个不同类型的整型数不能直接比较,比如int8类型数和int类型的数不能比较,但是各种类型的整型变量都可以直接与字面常量进行比较。
var ( i int32 j int64 ) i, j = 1, 2 if i == j { // 此处会编译错误 fmt.Println("i = j") } if i == 1 || j == 3 { // 此处可以编译通过 fmt.Println("success") }
浮点型
在Go语言中定义了两个类型float32和
float64,对于一个浮点类型常量,其类型被自动推导为
float64。
var v1 float32 v2 := 12.0 // float64
字符串
在Go语言中,字符串也是一种基本类型。var str string // 声明一个字符串 str = "hello go" // 字符串赋值 ch := str[0] // 取字符串的第一个字符
字符串常用操作
1、字符串连接,使用
+符号
var start, end string start = "hello " end = "go" con := start + end fmt.Println(con) // 输出 hello go
2、获取字符串长度,使用
len()函数。
var str string = "hello GO语言" len(str) // 14 因为中文字符在utf-8上占用3个字节长度。所以是14个
3、获取字符串字符,使用
s[i]形式。
字符类型
在Go语言中支持两种字符类型,一个是byte(uint8别名),代表UTF-8字符串的单个字节的值,另一个是
rune,代表单个Unicode字符。Go语言多数API都假设字符串为UTF-8编码。
相关文章推荐
- 【Go学习笔记】go语言中的基本数据类型和包的介绍(一)
- GO学习笔记 - 基本数据类型
- 初探swift语言的学习笔记一(基本数据类型)
- Golang学习笔记(2)---go语言基本类型
- Go语言学习笔记 --- 常量、变量、批量定义与声明、数据类型、类型别名、类型转换
- go语言学习-golang的基本数据类型
- go语言学习-golang的基本数据类型
- Go 学习笔记:Go 语言数据类型
- Python源码学习笔记(1 基本数据类型)
- Oracle 基本数据类型 - Oracle 学习笔记 2
- J2SE学习笔记3 — Java基本语法(2)基本数据类型
- Java基础学习笔记(一)基本数据类型
- 韩顺平_轻松搞定网页设计(html+css+javascript)_第20讲_js基本数据类型_js运算符1_学习笔记_源代码图解_PPT文档整理
- java核心技术学习笔记2---基本数据类型
- Javascript学习笔记1-基本数据类型
- Java学习笔记四。设计模式、基本数据类型、包装类、异常、断言、包、访问权限、命名规范、jar
- JAVA学习笔记(2)基本数据类型和基本操作
- Python语言学习(2)-Python基本数据类型
- OpenCV学习笔记 -- 基本数据类型
- Java基础学习笔记(一)基本数据类型