package main
import (
"fmt"
"math/rand"
"sort"
"time"
)
type person struct {
name string
age int
gender string
hobby[]string
}
func teststruct(){
var p person
p.age = 100
p.name = "alpha"
p.gender = "男"
p.hobby = []string{"篮球","足球","乒乓球"}
fmt.Printf("%T\n",p)
fmt.Println(p)
}
func testpointer(){
n:=18
p:=&n
fmt.Println(p)
fmt.Printf("%T\n",p)
}
func testnew(){
var a1 *int
fmt.Println("a1",a1)
var a2 = new(int)
fmt.Println("a2:",a2)
fmt.Println("*a2",*a2)
*a2 = 100
fmt.Println("*a2",*a2)
}
func testmap(){
var m1 map[string]int
fmt.Println(m1 == nil)
m1 = make(map[string]int,10)
m1["alpha"] =100
m1["spider"] = 200
fmt.Println(m1)
value,ok := m1["alpha"]
if !ok{
fmt.Println("没有此key")
} else {
fmt.Println("alpha",value)
}
for k:= range m1{
fmt.Print(k)
}
for k,v := range m1{
fmt.Println(k,v)
}
}
func testslicemap(){
rand.Seed(time.Now().Unix())
var scoreMap = make(map[string]int,200)
for i:=0;i<100;i++{
key:=fmt.Sprintf("stu%2d",i)
value:=rand.Intn(100)
scoreMap[key] = value
}
var keys = make([]string,0,200)
for key:=range scoreMap {
keys = append(keys,key)
}
sort.Strings(keys)
for _,key:=range keys{
fmt.Println(key,scoreMap[key])
}
}
func testslice(){
var s1[]int
var s2[]string
fmt.Println(s1,s2)
fmt.Println(s1==nil)
fmt.Println(s2==nil)
s1 = []int{1,2,3}
s2 = []string{"shenzhen","shanghai","beijing"}
fmt.Println(s1,s2)
fmt.Println(s1==nil)
fmt.Println(s2==nil)
fmt.Printf("len(s1):%d ,cap(s1):%d\n",len(s1),cap(s1))
fmt.Printf("len(s2):%d ,cap(s2):%d\n",len(s2),cap(s2))
a1:=[...]int{1,2,3,4,5,6,6}
s3:=a1[0:4]
fmt.Println(s3)
s4:=a1[0:5]
fmt.Println(s4)
s5:=make([]int,5,10)
fmt.Printf("len(s5):%d ,cap(s5):%d\n",len(s5),cap(s5))
s6:=make([]int,1,10)
fmt.Printf("len(s6):%d ,cap(s6):%d\n",len(s6),cap(s6))
s7:=[]int{1,3,5}
s8:=s7
fmt.Println(s7,s8)
s7[0] = 100
fmt.Println(s7,s8)
for i:=0 ; i<len(s7);i++{
fmt.Println(s7[i])
}
for i,v:=range s7{
fmt.Println(i,v)
}
}
func main(){
}