随机数
import (
"fmt"
"math/rand"
"time"
)
func main() {
//设置种子, 只需--次
//如果种 子参数- -样,每次运行程序产生的随机数都- -样
rand. Seed (time.Now().UnixNano()) //以当 前系统时间作为种子参数
for i:=0;i<5;i++{
//产生随机数
//fmt.Println("rand = ",rand.Int()) //随机很大的数
fmt.Println ("rand = ",rand.Intn(100))//限制在100内的数
}
}
错误处理
import "fmt"
import "errors"
func myfunc(a,b int)(result int,err error){
if b == 0 {
err = errors.New("分母不能为0")
}else {
result = a /b
}
return
}
func main() {
result,err := myfunc(10,0)
if err != nil {
fmt.Println(err)
}else {
fmt.Println(result)
}
}
崩溃处理
func myfunc1(){
fmt.Println(11111)
}
func myfunc2(){
//数组越界导致崩溃(崩溃会结束当前函数的执行),可以在崩溃前defer中调用recover()让程序继续进行下去
defer func() {
if err := recover(); err != nil{
fmt.Println(err)
}
}()//调用
var a [10] int
var x int = 100
a[x] = 20
fmt.Println(22222)
}
func myfunc3(){
fmt.Println(33333)
}
func main() {
myfunc1()
myfunc2()
myfunc3()
}
正则图片
代码示例
import (
"fmt"
"regexp"
)
func main() {
strArr := "aaa,aac,acb,aoc,adc"
//创建正则解释器,传入正则表达式
reg1 := regexp.MustCompile("a.c")
//正则匹配查询,传入要匹配的字符串
result := reg1.FindAllStringSubmatch(strArr,-1)
fmt.Println(result)
}