package main
import"fmt"import"errors"funcmain(){
err1 := fmt.Errorf("ERROR")
fmt.Println(err1)
err2 := errors.New("THIS IS ERROR")
fmt.Println(err2)
result, err :=Div(10,2)if err !=nil{
fmt.Println(err)}else{
fmt.Println(result)}}//相除funcDiv(a, b int)(result int, err error){
err =nilif b ==0{
err = errors.New("除数不能为0")}else{
result = a / b
}return result, err
}
panic
致命错误
package main
import"fmt"funcmain(){TestA()TestB()TestC()}funcTestA(){
fmt.Println("A")}funcTestB(){
fmt.Println("B")//panic会直接中断程序//panic("Error")}funcTestC(){
fmt.Println("C")//模拟数组越界
x :=[2]int{1,2}
x[3]=10}
recover
出错但不停止程序
package main
import"fmt"funcmain(){TestA()TestB(3)TestC()deferfunc(){if err :=recover(); err !=nil{
fmt.Println(err)}}()}funcTestA(){
fmt.Println("A")}funcTestB(x int){
fmt.Println("B")//panic会直接中断程序//panic("Error")//模拟数组越界
i :=[2]int{1,2}
i[x]=10}funcTestC(){
fmt.Println("C")}
2.字符串处理
字符串操作
Contains:是否包含
Join:拼接
Index:位置
Repeat:拼接重复
Replace:替换
Split:分离
Trim:两头去除
Fieids:分离更加强大
package main
import"fmt"import"strings"//字符串操作funcmain(){
s :="Hello World"
fmt.Println(strings.Contains(s,"W"))//true
fmt.Println(strings.Contains(s,"A"))//false
s1 :=[]string{"abc","def","ghi","jk"}
fmt.Println(strings.Join(s1,"&"))//abc&def&ghi&jk
fmt.Println(strings.Index(s,"W"))//6
s = strings.Repeat("go",3)
fmt.Println(s)//gogogo
s ="Hello World"
fmt.Println(strings.Split(s," "))//[Hello World]
fmt.Println(strings.Trim(" are you ok ? "," "))//are you ok ?
fmt.Println(strings.Fields(" are you ok ? "))//[are you ok ?]}