【Go学习Day02】

  • time
now := time.Now()
res1 := now.Day()
fmt.Println(res1)
res2 := fmt.Sprintf("%d-%d-%d %d:%d:%d\n", now.Year(), now.Month(), now.Day(), 
now.Hour(), now.Minute(), now.Second()) //=>2020-2-27 16:45:40
fmt.Println(res2)
fmt.Println(time.Millisecond) //=>1ms
//时间戳
fmt.Println(now.Unix()) //单位秒 //=>1582793140
fmt.Println(now.UnixNano()) //单位纳秒 //=>1582793140448984900
  • new
num1 := 100
fmt.Printf("num1的类型%T, num1的值=%v, num1值得地址=%v\n", num1, num1, &num1) //=>num1的类型=int, num1的值=100,num1值得地址=0xc04204c058
//内建函数new分配内存。其第一个实参为类型,而非值。其返回值为指向该类型的新分配的零值的指针。
num2 := new(int)
*num2 = 100
fmt.Printf("num2的类型%T, num2的值=%v, num2的地址%v, num2地址指针指向的值=%v", num2, num2, &num2, *num2) 
//=>num2的类型*int, num2的值=0xc04200e0a8, num2的地址0xc042004030, num2地址指针指向的值=100 //指针变量的值就是地址
  • 闭包
//案例:
//1) 编写一个函数,可接收一个文件后缀名(如:.jpg),并返回一个闭包
//2) 调用闭包,可以传入一个文件名,如果该文件名没有指定的后缀,返回xx.jpg,否则返回原文件名
//3) 要求使用闭包的方式完成
//4) strings.HasSuffix 判断后缀

//闭包-判断后缀
func judgeHasSuffix(suffix string) func (string) string {
	//定义声明文件名
	
	return func (prefix string)  string {
		if strings.HasSuffix(prefix, suffix) {
			return prefix
		} else {
			return prefix + suffix
		}
	}
}

//主程序入口
func main()  {
	// var fileName string = "12"
	res := judgeHasSuffix(".jpg")
	var fileName1 string = "34"
	fmt.Println(res(fileName1))
}
  • defer
//使用defer + recover 来捕获和处理异常
defer func() {
	err := recover() //recover()内置函数,可以捕捉异常
	if err != nil { //说明捕捉到错误
		fmt.Println("err=", err)
	}
}()

num1 := 10
num2 := 0
res := num1 / num2
fmt.Println(res)
  • errors
func readConf(name string) (err error) {
	if name == "config.ini" {
		return nil
	} else {
		// 返回一个自定义错误
		return errors.New("读取文件错误")
	}
}

func main() {
	res := readConf("config2.ini")
	if res != nil {
		panic(res)
	}
	fmt.Println("正常运行")
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值