為 PHP 轉 Go 的朋友們推薦一款神器

fzpying發表於2020-10-03

瞭解 PHP 的朋友應該會被 PHP 中兩大特性折服:
1、強大的 array;
2、強大的函式庫。
大部分資料用一個 array 即可表示;
同樣大部分功能用一個函式即可搞定。

比如計算一個字串的 MD5,Java 是這麼做的:

import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class MD5Utils {
    public static String stringToMD5(String plainText) {
        byte[] secretBytes = null;
        try {
            secretBytes = MessageDigest.getInstance("md5").digest(
                    plainText.getBytes());
        } catch (NoSuchAlgorithmException e) {
            throw new RuntimeException("沒有這個md5演算法!");
        }
        String md5code = new BigInteger(1, secretBytes).toString(16);
        for (int i = 0; i < 32 - md5code.length(); i++) {
            md5code = "0" + md5code;
        }

        return md5code;
    }

    public static void main(String[] args) {
        System.out.println(MD5Utils.stringToMD5("123456"));
    }
}

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("123456"))
}

而 PHP 是這麼做的:

echo md5("123456");

PHP 中的函式是如此強大、便利,所以 PHPer 轉到 Go 語言來,發現很多都需要自己封裝,著實不方便。也正因為如此,GitHub 也有很多類似的庫,專門提供和 PHP 類似的 Go 函式。

今天給大家推薦一個網站,專門為從 PHP 轉 Go 的同學們準備的,網站地址:Php2Golang

為 PHP 轉 Go 的朋友們推薦一款神器

在搜尋框輸入 PHP 的函式、類或庫名,為你推薦相應的 Go 程式碼。比如搜尋 md5,出現了兩個結果:

  • function.md5-file
  • function.md5

點選 function.md5 檢視具體資訊:

為 PHP 轉 Go 的朋友們推薦一款神器

還可以直接到 Go playground 去執行看看,是不是很方便!在 StudyGolang 中發現了該網站。

內容來源:微信公眾號【Go語言中文網

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章