golang常用库
常用库fmt
占位符
说明
%v
按原本的值来输出
%+v
类似%v,但输出结构体是会加上字段名称
%#v
在%+v的基础上额外输出类型
%T
输出类型
%s
输出字符串或者[]byte
%d
表示十进制 printPrintln:一次输入多个值的时候 Println 中间有空格Println 会自动换行,Print 不会Print:一次输入多个值的时候 Print 没有 中间有空格Print 不会自动换行PrintfPrintf 是格式化输出,在很多场景下比 Println 更方便Sprint会把答应数据生成,并返回一个字符串 s2 := fmt.Sprintf("name:%s,age:%d", name, age) time
时间大致有3种类型时间对象时间戳格式化时间Add 用于时间相加Sub 用于两个时间求差值%02d 中的 2 表示宽度,如果整数不够 2 列就补上 0Equal判断两个时间是否相同,会考虑时区的影响,因此不同时区标准的时间也可以正确比较。本方法和用t==u不同,这种方法还会比较地点和时区信息。Before如果t代表的时间点在u之前,返回真;否则返回假。After如果t代表的时间点在u之后,返回真;否则返回假。time.Tick 定时器package main import ( "fmt" "time" ) func main() { // 获取当前时间的时间对象 now := time.Now() fmt.Println(now) // 格式化时间 strTime := now.Format("2006-01-02 15:04:05") // 2006-01-02 15:04:05 必须是这个时间,go诞生的时间 记忆方法就是 2006 1 2 3 4 5 fmt.Println(strTime) //可以将时间对象转换为时间戳 fmt.Println(now.Unix()) // 将字符串时间转换为golang中的时间对象 loc, err := time.LoadLocation("Asia/Shanghai") if err != nil { fmt.Println(err) return } fmt.Println(loc) timeObj, err := time.ParseInLocation("2006/01/02 15:04:05", "2022/03/28 14:15:20", loc) if err != nil { fmt.Println(err) return } fmt.Printf("%T %v ", timeObj, timeObj) // Add方法,用于加时间的 // 1分钟前 m, _ := time.ParseDuration("-1m") m1 := now.Add(m) fmt.Println(m1) // 1分钟后 mm, _ := time.ParseDuration("1m") mm1 := now.Add(mm) fmt.Println(mm1) // Sub方法 用于求两个时间的饿差值 demoSub := mm1.Sub(m1) fmt.Println(demoSub) year := now.Year() //年 month := now.Month() //月 day := now.Day() //日 hour := now.Hour() //小时 minute := now.Minute() //分钟 second := now.Second() //秒 // 02d表示宽度,不够两位就补上0 比如9就是09 fmt.Printf("%d-%02d-%02d %02d:%02d:%02d ", year, month, day, hour, minute, second) demoEqual := mm1.Equal(m1) fmt.Println(demoEqual) demoAfter := mm1.After(m1) fmt.Println(demoAfter) demoBefore := mm1.Before(m1) fmt.Println(demoBefore) } // 定时任务 func tickDemo() { ticker := time.Tick(time.Second) //定义一个1秒间隔的定时器 for i := range ticker { fmt.Println(i) //每秒都会执行的任务 } } OS
操作系统执行命令的函数
参考https://cloud.tencent.com/developer/article/1342799flag
实现了命令行解析参数,类似python的argparsepackage main import ( "flag" "fmt" "time" ) func main() { //定义命令行参数方式1 var name string var age int var married bool var delay time.Duration flag.StringVar(&name, "name", "张三", "姓名") // name就是变量名,张三就是默认值,姓名就是描述 flag.IntVar(&age, "age", 18, "年龄") flag.BoolVar(&married, "married", false, "婚否") flag.DurationVar(&delay, "d", 0, "延迟的时间间隔") //解析命令行参数 flag.Parse() fmt.Println(name, age, married, delay) //返回命令行参数后的其他参数 fmt.Println(flag.Args()) //返回命令行参数后的其他参数个数 fmt.Println(flag.NArg()) //返回使用的命令行参数个数 fmt.Println(flag.NFlag()) } // 查看帮助 go run main.go --help encoding/jsonjson和struct互相转换序列化是指把结构体数据转化成 JSON 格式的字符串反序列化是指把 JSON 数据转化成 Golang 中的结构体对象Golang 中 的 序 列 化 和 反 序 列 化 主 要 通 过 "encoding/json" 包 中 的 json.Marshal() 和 json.Unmarshal()方法实现tag可以用来映射struct中的key和json中的keypackage main import ( "encoding/json" "fmt" ) type Student struct { ID int `json:"id,string"` // 加上 ,string 可以处理前端传过来的字符串格式的数据,添加string来告诉json包从字符串中解析相应字段的数据 Gender string `json:"gender"` // tag可以指定struct转换为json的时候的key name string //私有属性不能被 json 包访问 Age int `json:"age"` } func structToJson() { s1 := Student{ ID: 1, Gender: "xxx", name: "lalala", //小写字母开头的是私有属性,不能被json.Marshal 转换出来 Age: 18, } fmt.Printf("%#v ", s1) s, _ := json.Marshal(s1) str := string(s) fmt.Println(str) fmt.Printf("%T", s1.ID) } func jsonToStruct() { var s2 Student str2 := `{"id":"1","gender":"男","Name":"李四","age":19}` err := json.Unmarshal([]byte(str2), &s2) if err != nil { fmt.Println(err) } fmt.Printf("%#v ", s2) } func main() { structToJson() jsonToStruct() }
新能源车主省心吗来源经济日报2021年,新能源汽车成为汽车行业最大亮点。据中国汽车工业协会统计,新能源汽车产销分别完成354。5万辆和352。1万辆,同比均增长1。6倍,市场占有率达到13。4,高
工信部启动电动汽车动力蓄电池安全相关标准修订工作金一丹中国证券报中证网中证网讯(记者金一丹)3月18日,工信部发布2022年汽车标准化工作要点提出,启动电动汽车动力蓄电池安全相关标准修订工作,进一步提升动力蓄电池热失控报警和安全
深耕数字化转型软通动力誓做中国埃森哲本报讯十四五规划全面聚焦数字经济发展,数字经济上升为国家战略,市场规模巨大。软通动力紧抓国内大力发展数字经济的契机,誓做中国的埃森哲。相比超67万名员工3000亿元年收入超1。2万
三大造车新势力集结创投圈!小鹏汽车牵头设立VC基金,LP阵容3月17日,星航资本(RocketsCapital)宣布完成首期美元基金首轮关账,募资金额超2亿美元。这只基金看似不太为人所知,但它背后的基石出资人却广为人知,这就是国内三大造车新
新能源汽车续航里程何时不再雾里看花?记者调查发现,不少新能源汽车厂商都打出了超长续航的广告,但消费者购车后发现续航里程往往会缩水,有的只有标称里程的一半,关于纯电新能源汽车续航里程打折问题的投诉早已屡见不鲜。续航里程
对话李斌汽车行业没有一招鲜,拼的是综合体验和体系化效率文李勤那个拐点到了。2021年,蔚来交付量同比增长109。1,达到91429辆,如果不是供应链补给问题,很有可能冲上10万台。谈及2021年的感受,蔚来CEO李斌向36氪直言,市场
半导体行业之汽车芯片专题研究供需紧张持续,国内厂商机会凸显(报告出品方中国平安)1现状汽车三化提速,芯片应用显著提升汽车三化提速,车载芯片得到广泛应用随着电动化网联化和智能化的提速,汽车信息化水平空前提升,芯片应用快速增加。最早,车上的设
零跑瞄准新能源汽车竞赛下半场近两年来,新能源发展速度喜人,由此也带来产业链的上下游布局的全面提速。这也彰显了智能电动车引领制造业转型升级的龙头地位,以及其肩负巨大的产业责任。在新能源市场中,自主品牌表现得非常
3。19晚评智能汽车行业高景气分支新能源汽车迎涨价潮今日看盘股票财经1功率半导体IGBT智能汽车和光伏的快速发展给功率半导体带来巨幅增量,行业核心企业公布本年度12月份的业绩都印证了行业景气度的持续超预期,国外厂家
油价上涨,买车就买新能源?受国际形势影响,国内油价持续升高,油价来到8元时代,以前加满一箱油三百多块,现在加满一箱油都得接近五百元!92加满魂散腿软,95加满倾家荡产,98加满三代还款!虽然多少有调侃的成分
熟悉Javascript解构当我学习Javascript的基础知识时,我发现课堂上的许多人对解构并没有很好的理解。这是ES6中看似容易掌握的特性之一但是当我开始学习带钩子的React时,我对这个概念的摇摇欲坠
母婴行业如何利用小程序抢占市场?实现客源销量双增长随着小程序的火爆,线下店铺实现线上转型已成必然趋势,餐饮服装美妆等行业都在利用小程序实现转型,抢占市场,那么面对客户群体巨大的母婴行业自然也不能落后,那么母婴行业应该怎样利用小程序
小程序开店步骤是什么?怎么搭建一个小程序店铺?想拥有一个小程序,要看这三个关键步骤1,申请小程序账号并做认证登录微信公众平台,注册,在帐户类型页面中,选择小程序,按照提示创建,根据步骤提示做认证,需要300元认证费,以后每年都
人类高质量的选择!三款国货SUV是谁让你种草?随着网络用词人类高质量的爆火,可以看出当代人对生活质量在不断苛刻,既要朴实无华,又要有内涵。就拿购车来说,消费者不光需要好看的皮囊,同时还要兼顾家用,尤其是三胎政策的放宽,儿童的用
小户型到底装不装榻榻米,竟有这些猫腻由于放假的居高不下,现如今小户型成为了年轻伙伴们的首选,可小户型中的卧室空间较小,放上床柜等家具就会满登登,不过又有什么办法呢?别急,我们可以通过设计把有限的空间巧妙地利用起来。在
夏季降温有招法,让你家清凉一夏进入夏天,一想到火辣辣的太阳,闷热的天气,整个人都有种被蒸的感觉,实在是不好受。这个时候人们会选择吃些冷饮躲在阴凉处乘凉可小编却喜欢宅在家里,有的伙伴会问,难道你有什么好的降温方法
这台房车这样设计,个人感觉相对实用依维柯欧胜目前算得上主流的C型车底盘,在此基础上近两年改了几个版本的C型,结合目前的房车设计理念,海王星用十多台车做了以下几个实践并证明了理念的可操作性柴油锅炉加热防冻液的热中心,
中牟县开展守护童梦,与爱同行圆梦困境儿童微心愿服务活动中国公益在线郑州讯(公益记者张文孟)元旦假期前夕,郑州市中牟县民政局联合郑州市金水区恩夕社会工作服务中心发起了守护童梦,与爱同行圆梦困境儿童微心愿认领活动,短短一周时间,所有困境儿
冬日打造暖意家居,让家温馨一片进入寒冬,天气很冷,您的家里是不是也该换上温暖的家居了呢?如果还没拿定主意的话,今天我就和伙伴们来分享的一些冬日家居,说不定哪件就是你家的菜在寒冷的冬季能让家里暖暖的,让人感觉是那
端午节的家居应该怎么装?弄些应景好物来扮靓端午节是我们中华民族的传统节日,这不马上就要到啦!我们为了迎接它的到来,是不是应该把房间好好的布置一番呢?营造一个干净舒适的环境,这样才符合端午节幸福安康的主题,你们说是不是这个理
佩戴安全头盔,幸福你我他记经开区朝凤路小学1月15日发放佩戴安全头盔倡议书活动2021年1月15日下午,经开区朝凤路小学学生学雷锋志愿小队队员们已经穿戴好志愿服装在学校大门口集结整齐,将要开始今天的学雷锋
绿城使者守护玉娃因市政施工,郑州经开区瑞锦小学的学生路队线路发生变化,上下学时段在校门口马路中央两侧拉起了警戒线,为学生秩序安全入校,志愿服务的教师做足了准备。天蒙蒙亮,学校路口却川流不息,分列在