赞
踩
package main
import (
"fmt"
)
func main() {
var i *int
*i=10
fmt.Println(*i)
}
panic: runtime error: invalid memory address or nil pointer dereference
Go提供内建函数new
func new(Type) *Type
func main() {
var i *int
i=new(int)
*i=10
fmt.Println(*i)
}
func make(t Type, size ...IntegerType) Type
i:=0
u:=user{}
type slice struct {
array unsafe.Pointer
len int
cap int
}
//创建一个初始元素长度为5的数组切片,元素初始值为0:
mySlice1 := make([]int, 5)
//创建一个初始元素长度为5的数组切片,元素初始值为0,并预留10个元素的存储空间:
mySlice2 := make([]int, 5, 10)
//切片字面量创建长度为5容量为5的切片,需要注意的是 [ ] 里面不要写数组的容量,因为如果写了个数以后就是数组了,而不是切片了。
mySlice3 := []int{10,20,30,40,50}
//创建了一个键类型为string、值类型为PersonInfo
myMap = make(map[string] PersonInfo)
//也可以选择是否在创建时指定该map的初始存储能力,创建了一个初始存储能力为100的map.
myMap = make(map[string] PersonInfo, 100)
//创建并初始化map的代码.
myMap = map[string] PersonInfo{
"1234": PersonInfo{"1", "Jack", "Room 101,..."},
}
//创建有缓存通道
ch := make(chan int, 10)
//创建无缓存通道
ch := make(chan int)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。