首页 > 编程语言 >【Golang】PHP转Go强大的工具库

【Golang】PHP转Go强大的工具库

时间:2022-09-27 20:11:12浏览次数:69  
标签:return string Golang interface func Go PHP

PHP 的朋友应该会被 PHP 中两大特性折服:

1、强大的 array,一切皆Array;

2、强大的函数库,函数类型非常丰富。

一、简单示例

1、例如:md5函数

Go版本写法:

package main

import (
	"crypto/md5"
	"fmt"
	"io"
)

func Md5(str string) string {
	h := md5.New()
	io.WriteString(h, str)
	return fmt.Sprintf("%x", h.Sum(nil))
}

func main() {
	fmt.Println(Md5("999999"))
}

PHP版本写法

echo md5("999999");

PHP 中的函数是如此强大、便利,所以 PHPer 转到 Go 语言来,发现很多都需要自己封装,着实不方便。也正因为如此,GitHub 也有很多类似的库,专门提供和 PHP 类似的 Go 函数。

二、测试

网址:https://www.php2golang.com/

 

 

1、json_decode

func Json_decode(data string) (map[string]interface{}, error) {
	var dat map[string]interface{}
	err := json.Unmarshal([]byte(data), &dat)
	return dat, err
}

2、 file_get_contents

func FileGetContents(filename string) (string, error) {
	data, err := ioutil.ReadFile(filename)
	return string(data), err
}

3、array_key_exists

func ArrayKeyExists(key interface{}, m map[interface{}]interface{}) bool {
	_, ok := m[key]	return ok
}

 

标签:return,string,Golang,interface,func,Go,PHP
From: https://www.cnblogs.com/chenpingzhao/p/16729207.html

相关文章

  • django项目 数据migrate迁移成功 数据库未生成表 表现:Running migrations: No mig
    现象:python pythonmanage.pymigrate后提示:Runningmigrations:  Nomigrationstoapply.解决方法: 找到相应数据库的数据库表django_migrations,之后有一个app字......
  • 【Golang】关于Golang中一些优秀的类库
    一、CLI命令(spf13/cobra)GitHub地址:https://github.com/spf13/cobra Cobra既是一个创建强大的现代CLI应用程序的库,也是一个生成应用程序和命令的程序。可以使用这个......
  • go tar解压 当前目录
    func main() {   unTarDir := "." //解压到当前目录   tarFile, err := os.Open("demo.tar")   if err != nil {      log.Fatalln(err)   ......
  • 03-Go设计模式-工厂方法模式
    工厂模式方法模式示例代码/*工厂方法模式抽象工厂(AbstractFactory)角色:工厂方法模式的核心,任何工厂类都必须实现这个接口工厂(ConcreteFactory)角色:具体工厂类是抽象工......
  • 02-Go设计模式-简单工厂
    简单工厂模式示例代码/*简单工厂模式角色和职责工厂(Factory)角色:简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象......
  • django利用中间件记录接口时长
    #-*-coding:utf-8-*-"""计算每个接口请求时长"""importtimeimportloggingfromdjango.utils.deprecationimportMiddlewareMixin​​classApiTimeMiddleWare(Midd......
  • django rest-framework 自定义异常捕获类
    djangorest-framework自定义异常捕获类环境:django3.2python3先创建文件exceptions.py(文件名称可以自定义)1、重写exception_handler,自定义异常类#-*-coding:ut......
  • go之new和make
    我们先来看一个例子:funcmain(){ vara*int *a=100 fmt.Println(*a) varbmap[string]int b["沙河娜扎"]=100 fmt.Println(b)}执行上面的代码会引......
  • php 微信支付V3API 签名生成
    classFormatter{/***GeneratearandomBASE62stringaka`nonce`,similaras`random_bytes`.**@paramint$size-Noncestringlength,......
  • ubuntu的apt源更新后只能装php8新版本,无法安装php7老版本了
    新电脑更新apt源以后,发现新装的都是php8.1,而且apt源update后,search也找不到php7了。于是找到了这篇文章然后按照他说的做sudoapt-getupdatesudoapt-yinstallsof......