go方法用法

defer  panic  recover

json序列化
monster := Monster{"a",2,"d"}
jsonStr,err := json.Marshal(monster)
if err != nil{
   fmt.Println("json ", err)
}
fmt.Println(string(jsonStr))

data,err := json.Marshal(&monster)
fmt.Println(string(data))

json反序列化
var monster Monster
err := json.Unmarshal([]byte(str),&monster)

fmt常用的格式化字符串
%c = 字符 该值对应的unicode码值
%d = 整数 表示为十进制,打印10进制整数
%v = 是个通用的占位符。它会自动将变量转换为默认格式的字符串,这在打印字符串或数字等原语时非常有用,而且不需要特定的选项
%f = 打印浮点数,可以通过%8.2f,%-8.2f,%08.2f,% f等来控制打印字符串的空格
%t = 单词true或false
%q 能打印加引号的字符串。当您的数据可能有不可见字符(如空字符串)时,这是有用的,因为引用的字符串将它们打印为转义序列。
%x和%X 打印16进制整数
%p 打印变量的指针地址。当您正在调试代码并且希望检查不同的指针变量是否引用相同的数据时,这个方法非常有用。
%T 打印变量的类型

基本数据转string
第一
fmt.Sprintf("%参数",表达式) 
fmt.Sprintf("%d",num1) //int
fmt.Sprintf("%f",numl) //float
fmt.Sprintf("%t",b) //bool
fmt.Sprintf("%c",myChar) //byte

第二
var num3 int = 99
str = strconv.FormatInt(int64(num3),10)  
fmt.Printf("str type %T str=%q\n",str,str)

var num4 float64 = 23.857
str = strconv.FormatFloat(num4,'f',10,64) 

var b2  boot = true
str=strconv.FormatBool(b2)

var num5 int64 = 4567
str = strconv.Itoa(int(num5))

string转基本数据
var str string = "true"
var b bool
b,_ = strconv.ParseBool(str)   

var str2 string = "1234567890"
var n1 int64
n1,_ = strconv.ParseInt(str,10,64) //Atoi()常用的应该就是 Atoi() 了,而这个函数时 ParseInt 的一个简易版。在 Atoi 函数的内部
fmt.Print("n1 type %T n1=%v",n1,n1)

var str3 string = "123.456"
var f1 float64
f1,_ = strconv.ParseFloat(str3,64)

文件操作
1、打开文件读操作:
如:os.Open(name string)(*File,error)
例:
file,err := os.Open("e:/test.txt")
if err != nil {
   fmt.Println("err=",err)
}
fmt.Printf("file=%v",file)

err = file.Close()
if err != nil{
   fmt.Println("err=",err)
}

2、关闭文件
File.Close()

时间函数
获取当前时间
now := time.Now()
fmt.Printf("now=%v now type=%T",now,now)
//2.通过now可以获取到年月日,时分秒
fmt.Printf("年=%v\n",now.Year())
fmt.Printf("月=%v\n",now.Month()) fmt.Printf("月=%v\n",int(now.Month()))
fmt.Printf("日=%v\n",now.Day())
fmt.Printf("时=%v\n",now.Hour())
fmt.Printf("分=%v\n",now.Minute())
fmt.Printf("秒=%v\n",now.Second())

格式化日期和时间
1、
fmt.Prinf("当前年月日 %d-%d-%d %d:%d:%d \n",now.Year(),now.Month(),now.Day(),now.Hour(),now.Minute(),now.Second())
dateStr := fmt.SPrintf("当前年月日 %d-%d-%d %d:%d:%d \n",now.Year(),now.Month(),now.Day(),now.Hour(),now.Minute(),now.Second())
fmt.Printf("datestr=%v",dateStr)

2、
now := time.Now()
fmt.Printf(now.Format("2006/01/02 15:04:05"))
fmt.Printf(now.Format("2006/01/02"))
fmt.Printf(now.Format("15:04:05"))

Unix和UnixNano的使用
now := time.Now()
fmt.Printf("Unix时间=%v   UnixNano时间=%v \n",now.Unix(),now.UnixNano())

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值