go基础篇之六

一、函数

go语言重的函数是组织好的、可重复使用的、用于执行指定任务的代码块。其实和java中的函数(方法)是一样的。

Go语言中定义函数使用func关键字,具体格式如下:

func 函数名(参数)(返回值){
    函数体
}
  • 函数名:由字母、数字、下划线组成。但函数名的第一个字母不能是数字。在同一个包内,函数名也称不能重名(包的概念详见后文)。
  • 参数:参数由参数变量和参数变量的类型组成,多个参数之间使用,分隔。
  • 返回值:返回值由返回值变量和其变量类型组成,也可以只写返回值的类型,多个返回值必须用()包裹,并用,分隔。
  • 函数体:实现指定功能的代码块。

二、实战

package main

import (
	"crypto/md5"
	"encoding/hex"
	"encoding/json"
	"fmt"
	"time"
)

/**
函数
函数用 func 声明。
函数可以有一个或多个参数,需要有参数类型,用 , 分割。
函数可以有一个或多个返回值,需要有返回值类型,用 , 分割。
函数的参数是可选的,返回值也是可选的。

 */



func main() {

	var res  Result
	res.Code=200
	res.Msg="成功"

	toJson(&res)

	fmt.Println("res==",res)
	setData(&res)

	fmt.Println("res====",res)

	const name = "zhongyuan"

	s := MD5(name)


	fmt.Println("s===",s)

	str := getTimeStr()

	fmt.Printf("当前时间 str= %s \n",str)

	timeStr :=getStrTime()

	fmt.Println("timeStr = ",timeStr)

	unix :=getTimeUnix()

	fmt.Println("unix=",unix)
}



type Result struct {
	Code int `json:"code"`

	Msg string `json:"msg"`
}




func  toJson(res *Result)  {
   jsons ,errs :=json.Marshal(res)

   if errs !=nil{
   	  fmt.Println("json marshal error",errs)
   }

   fmt.Println(string(jsons))
}

func setData(res *Result)  {
	res.Code = 500
	res.Msg = "失败"
}


// Md5 函数
func MD5(str string) string {
	s:=md5.New()
	s.Write([] byte(str))

	return hex.EncodeToString(s.Sum(nil))
}

//获取当前时间字符串函数
func getTimeStr() string {
	return time.Now().Format("2023-02-18 10:10:10")
}

func getStrTime() string {
	return time.Now().String()
}

//获取当前时间戳
func getTimeUnix() int64 {
	return time.Now().Unix()
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值