<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

          共 764字,需瀏覽 2分鐘

           ·

          2020-10-03 12:21

          了解 PHP 的朋友應該會被 PHP 中兩大特性折服:1、強大的 array;2、強大的函數(shù)庫。大部分數(shù)據(jù)用一個 array 即可表示;同樣大部分功能用一個函數(shù)即可搞定。比如計算一個字符串的 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 中的函數(shù)是如此強大、便利,所以 PHPer 轉到 Go 語言來,發(fā)現(xiàn)很多都需要自己封裝,著實不方便。也正因為如此,GitHub 也有很多類似的庫,專門提供和 PHP 類似的 Go 函數(shù)。

          今天給大家推薦一個網(wǎng)站,專門為從 PHP 轉 Go 的同學們準備的,網(wǎng)站地址:https://www.php2golang.com/。

          在搜索框輸入 PHP 的函數(shù)、類或庫名,為你推薦相應的 Go 代碼。比如搜索 md5,出現(xiàn)了兩個結果:

          • function.md5-file
          • function.md5

          點擊 function.md5 查看具體信息:

          可以直接到 Go playground 去運行看看,是不是很方便!https://hao.studygolang.com/ 中發(fā)現(xiàn)了該網(wǎng)站。


          文末「閱讀原文」可直達項目首頁。


          今天的項目大家覺得怎么樣嗎?如果你喜歡,請在文章底部留言、點贊或關注轉發(fā),你的支持就是我持續(xù)更新的最大動力!


          推薦閱讀




          轉角遇到GitHub - 送給愛開源的你

          Git ·?GitHub · GitLab · Gitee


          瀏覽 82
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久久成人麻豆午夜电影 | 亚洲精品婷婷 | 黄色一级免费大片 | 精品做爱视频在线观看 | 天天免费黄色视 |