测试go中的函数 数组 切片 指针 结构体 并发
package main
import (
"fmt"
"time"
)
func main(){
var a, b int = 5, 7
var res1 = t_max(a, b)
fmt.Println(res1)
t_array()
t_struct()
t_point()
go t_go("test1")
t_go("test2")
}
// 测试函数
func t_max(num1, num2 int) int{
var res int
if (num1 > num2){
res = num1
} else{
res = num2
}
return res
}
// 测试数组和切片
func t_array(){
var n [10]int
var i, j int
for i =0; i < 10; i++ {
n[i] = i
}
for j = 0; j < 10; j++{
fmt.Printf("%d\t", n[j])
}
fmt.Println()
fmt.Println(n[:3], n[6:8], n[6:])
}
// 指针
func t_point(){
var a int = 1
var ip *int
ip = &a
fmt.Println("addr:%x, value:%d\n", ip, *ip)
}
// 测试结构体
func t_struct(){
type season struct{
spring string
summer string
autumn string
winter string
}
var sea1 season
sea1.autumn = "秋"
sea1.spring = "春"
sea1.summer = "夏"
sea1.winter = "冬"
fmt.Println(sea1)
}
// 测试并发
func t_go(st string) {
for i := 0; i<5; i++ {
time.Sleep(100*time.Millisecond)
fmt.Printf("%s\t", st)
}
fmt.Println()
}
运行结果: