import (
_"fmt" //下划线表示这个包起别名,无法使用这个包
aa"fmt" //mylib也表示为这个包取别名,aa.Print()直接v调用就行
)
var pp **int //二级指针,pp存的是p的地址
pp = &p
defer
先调用return再调用defer
数组
func main() {
var myArray1 [10]int
myArray2 := [10]int{1,2,3,4}
for i := 0; i < len(myArray1); i++ {//len(myArray1)=10
fmt.Println(myArray1[i])
}
for index,value :=range myArray2{
fmt.Println("index =",index,"value =",value)
} //range表示返回这个数组的两个值,一个下标,一个数值
}
动态数组和切片
func printArray(myArray []int) {
for _, value := range myArray {
fmt.Println("value = ", value)
}
myArray[0] = 100
}
func main() {
myArray := []int{1, 2, 3, 4} //动态数组,切片
fmt.Printf("myArray type is %T\n", myArray)
printArray(myArray)
fmt.Println("=====")
for _, value := range myArray {
fmt.Println("value = ", value)
}
}
//切片相当于引用,传的是地址,可以改变值