【代码】Go语言程序设计

快速变量声明
强类型 s:="sdd"

常量连续声明

func main() {
	const (
		A = iota
		B
		C
	)
	fmt.Print(A,B,C)
}

C和指针
7.2.2 函数的缺省认定: 当程序调用一个无法见到原型的函数时, 编译器便认为该函数返回一个整数值, 然后根据被赋值的变量的类型, 对整数值进行转换
8.1.5 声明数组, 编译器根据声明为数组保留内存空间, 创建数组名的常量, 指向起始地址
声明指针, 编译器只为指针本身保留内存空间, 指针名是变量, 可以改变

遍历

var ls = []int{1, 2, 3}
	var s = "hello"
	for _, v := range s {
		fmt.Printf("%c", v)
	}
	for _, v := range ls {
		fmt.Printf("%d", v)
	}
	for i := range ls {
		ls[i]=i
	}

切片

var ls []int      //声明, 不分配内存
	var ls2 = []int{} //分配内存
	println(nil == ls)
	println(ls2 == nil)

元素的添加
使用append添加元素
len不等于cap。
如果append使len超过cap,则重新分配内存,容量的扩展规律按容量的 2 倍数扩充

var ls [] string
	ls = append(ls, "dd")
	elems := []string{"sdd", "sddd"}
	ls = append(ls, elems...)
	fmt.Println(ls)

结构体
结构体的定义只是一种内存布局的描述,只有当结构体实例化时,才会真正地分配内存
结构体实例化后字段的默认值是字段类型的默认值,例如:数值为 0,字符串为空字符串,布尔为 false,指针为 nil 等。

你可能感兴趣的:(【代码】Go语言程序设计)