package mainimport"fmt"funcadd(a int, b int)(int,error){return a + b,nil}funcadd2(a int, b int)(sum int, err error){sum = a + berr =nilreturn sum, err
}// 参数数量任意funcadd3(items ...int)(sum int){for_, value :=range items {sum += value}return sum
}//函数是一等公民,可以作为变量、参数// 闭包:可以随时归零,而且不需要全局变量funcautoIncrement()func()int{local :=0returnfunc()int{local +=1return local}}funcmain(){sum :=add3(1,2,3)fmt.Println(sum)//闭包next :=autoIncrement()for i :=0; i <5; i++{fmt.Print(next())//1,2,3,4,5}fmt.Println()next2 :=autoIncrement()for i :=0; i <3; i++{fmt.Print(next2())//1,2,3}}
defer
package mainimport("fmt""sync")funcdeferReturn()(ret int){deferfunc(){ret++}()return10}funcmain(){var mu sync.Mutexmu.Lock()defer mu.Unlock()//defer语句在return之前才执行//defer执行的顺序为栈的顺序,LIFOdefer fmt.Println("1")defer fmt.Println("2")ret :=deferReturn()fmt.Println(ret)//11,defer有能力改变返回值}
panic、recover
package mainimport"fmt"funcmain(){deferfunc(){r :=recover()if r !=nil{fmt.Println("recover!!!")//捕获panic}}()panic("panic!!!")//直接导致程序退出fmt.Println("1")}
import pandas as pd
import numpy as np
import os
from datetime import date,datetime
todaydate.today()downpath/Users/kangyongqing/Downloads/
gensuipath/Users/kangyongqing/Documents/kangyq/202209/OKR预占/2023Q2促留存/月度留存分级/24样本学生跟随.xlsxdownname1…
文章目录 TodoView 添加新增、编辑、查询功能修改TodoViewModel.cs修改XAML修改ToDoService TodoView 添加新增、编辑、查询功能
修改TodoViewModel.cs
using Mytodo.Common.Models;
using Mytodo.Service;
using Prism.Commands;
using Prism.Ioc;
using Prism.Mvvm;
using …