bool
byte
rune
int/uint
int8/uint8
int16/uint16
int32/uint32
int64/int64
Pointer
chan 通道
func 函数
interface 接口
map 字典
struct 结构
nil 空值
type 用于自己定义数据类型
const 常量或者常量表达式
type MyString [3]string
MyString 是一个元素个数为3的数组类型
声明一个为Person的自定义结构体
type Person struct{
Name string
Age uint8
Address string
}
定义一个结构体
Person{Name:"ysd",Age:21,Address:"sichuan.china"}
Arrary 数组
类型表示法,不是引用类型
[n]T
[2*3*4]byte
[3]string{"ysd","sichuan","guangyuan"} // 长度为3.
一个数组即是一个值.所以在传递数组变量时,传递的是整个数组
如果是一个指针,则我们就需要取地址符号
Slice 切片
len([string{10:"ysd"}])
该值得表达式是11, len可以求数组的长度
cap可以求出容量,
创建方式
slice1 := make([]string, 长度,容量)
slice := array[起始:结束] ,将数组array的前四个元素,作为新的切片类型
注意,包含起始,不包含结束,不能超过当前的长度
向切片中追加新的值
slice1 = append(slice1,"c++","php");
append的实现和c++的vector容器一致
copy可以拷贝一个切片
n1 := copy(sliceA,sliceB)
n1代表的是复制了的元素的数量
Map 字典
类型表示,该类型是引用类型
map[K]T
需要注意的是它的键类型不能是函数类型,字典类型,和切片类型
map[string]bool类型的表示方法
map[string]bool{"vim":true,"ysd":false}
空类型的表示方法
map[string]bool{}
复合类型的字面值由 {}括起来的符合元素的列表组成
接收操作符
注意事项
从一个通道类型的空值接受值的表达式将永远阻塞
从一个已经关闭的通道类型值接收值会永远成功,并立即返回一个其元素的零值.
example
editor := map[string]bool{}
删除:
delete(editor,"gedit")
= 和:= 的区别
=用于将一个值赋值给一个已经被声明的常量或者是变量
:= 用于在声明一个变量的同时并且对该变量进行赋值
go语言注意事项,在GO语言中没有值传递和引用传递,有的是值类型和引用类型
go语言中的类型表示法
name string
func search(name string,age int)(result int)
result 在该函数被调用的时候会赋值给0值
func Model(x,y int)(result int){
result = x%y
return
}
byte
rune
int/uint
int8/uint8
int16/uint16
int32/uint32
int64/int64
Pointer
chan 通道
func 函数
interface 接口
map 字典
struct 结构
nil 空值
type 用于自己定义数据类型
const 常量或者常量表达式
type MyString [3]string
MyString 是一个元素个数为3的数组类型
声明一个为Person的自定义结构体
type Person struct{
Name string
Age uint8
Address string
}
定义一个结构体
Person{Name:"ysd",Age:21,Address:"sichuan.china"}
Arrary 数组
类型表示法,不是引用类型
[n]T
[2*3*4]byte
[3]string{"ysd","sichuan","guangyuan"} // 长度为3.
一个数组即是一个值.所以在传递数组变量时,传递的是整个数组
如果是一个指针,则我们就需要取地址符号
Slice 切片
len([string{10:"ysd"}])
该值得表达式是11, len可以求数组的长度
cap可以求出容量,
创建方式
slice1 := make([]string, 长度,容量)
slice := array[起始:结束] ,将数组array的前四个元素,作为新的切片类型
注意,包含起始,不包含结束,不能超过当前的长度
向切片中追加新的值
slice1 = append(slice1,"c++","php");
append的实现和c++的vector容器一致
copy可以拷贝一个切片
n1 := copy(sliceA,sliceB)
n1代表的是复制了的元素的数量
Map 字典
类型表示,该类型是引用类型
map[K]T
需要注意的是它的键类型不能是函数类型,字典类型,和切片类型
map[string]bool类型的表示方法
map[string]bool{"vim":true,"ysd":false}
空类型的表示方法
map[string]bool{}
复合类型的字面值由 {}括起来的符合元素的列表组成
接收操作符
注意事项
从一个通道类型的空值接受值的表达式将永远阻塞
从一个已经关闭的通道类型值接收值会永远成功,并立即返回一个其元素的零值.
example
editor := map[string]bool{}
删除:
delete(editor,"gedit")
= 和:= 的区别
=用于将一个值赋值给一个已经被声明的常量或者是变量
:= 用于在声明一个变量的同时并且对该变量进行赋值
go语言注意事项,在GO语言中没有值传递和引用传递,有的是值类型和引用类型
go语言中的类型表示法
name string
func search(name string,age int)(result int)
result 在该函数被调用的时候会赋值给0值
func Model(x,y int)(result int){
result = x%y
return
}