欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Go語言常見哈希函數(shù)的使用

 更新時間:2015年03月20日 11:13:02   投稿:hebedich  
哈希表(Hash table,也叫散列表),是根據(jù)關鍵碼值(Key value)而直接進行訪問的數(shù)據(jù)結構。也就是說,它通過把關鍵碼值映射到表中一個位置來訪問記錄,以加快查找的速度。具體的介紹網(wǎng)上有很詳細的描述,如閑聊哈希表 ,這里就不再累述了;

myhash.go

/**
 * Created with IntelliJ IDEA.
 * User: liaojie
 * Date: 12-9-8
 * Time: 下午3:53
 * To change this template use File | Settings | File Templates.
 */
package main
import (
  "crypto/md5"
  "crypto/sha1"
  "crypto/sha256"
  "crypto/sha512"
  "flag" //命令行選項解析器
  "fmt"
  "hash"
  "io"
  "os"
)
var style = flag.String("s", "sha256", "采用的哈西函數(shù):sha1,sha256")
var filename = flag.String("f", "", "需要計算散列值的文件名")
func main() {
  flag.Parse()
  var hs hash.Hash
  switch *style {
  case "md5":
    hs = md5.New()
  case "sha1":
    hs = sha1.New()
  case "sha512":
    hs = sha512.New()
  default:
    hs = sha256.New()
  }
  if len(*filename) == 0 {
    filein, err := os.Open(flag.Args()[len(flag.Args())-1])
    if err != nil {
      return
    } else {
      io.Copy(hs, filein)
    }
  } else {
    filein, err := os.Open(*filename)
    if err != nil {
      return
    } else {
      io.Copy(hs, filein)
    }
  }
  hashString := hs.Sum(nil)
  fmt.Printf("%x\n", hashString)
}

以上所述就是本文的全部內容了,希望大家能夠喜歡。

相關文章

  • Golang反射獲取結構體的值和修改值的代碼示例

    Golang反射獲取結構體的值和修改值的代碼示例

    這篇文章主要給大家介紹了golang反射獲取結構體的值和修改值的代碼示例及演示效果,對我們的學習或工作有一定的幫助,感興趣的同學可以參考閱讀本文
    2023-08-08
  • Golang Gob編碼(gob包的使用詳解)

    Golang Gob編碼(gob包的使用詳解)

    這篇文章主要介紹了Golang Gob編碼(gob包的使用詳解),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05
  • GO語言中創(chuàng)建切片的三種實現(xiàn)方式

    GO語言中創(chuàng)建切片的三種實現(xiàn)方式

    這篇文章主要介紹了GO語言中創(chuàng)建切片的三種實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • golang并發(fā)執(zhí)行的幾種方式小結

    golang并發(fā)執(zhí)行的幾種方式小結

    本文主要介紹了golang并發(fā)執(zhí)行的幾種方式小結,主要包括了Channel,WaitGroup ,Context,使用這三種機制中的一種或者多種可以達到并發(fā)控制很好的效果,具有一定的參考價值,感興趣的可以了解一下
    2023-08-08
  • Go 庫性能分析工具pprof

    Go 庫性能分析工具pprof

    這篇文章主要為大家介紹了Go 庫性能分析工具pprof,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • golang使用grpc+go-kit模擬oauth認證的操作

    golang使用grpc+go-kit模擬oauth認證的操作

    這篇文章主要介紹了golang使用grpc+go-kit模擬oauth認證的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • Go語言正則表達式的使用詳解

    Go語言正則表達式的使用詳解

    正則表達式是一種進行模式匹配和文本操縱的功能強大的工具。這篇文章主要介紹了Go正則表達式使用,本文給大家介紹的非常詳細,對大家的工作或學習具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • Golang學習筆記之延遲函數(shù)(defer)的使用小結

    Golang學習筆記之延遲函數(shù)(defer)的使用小結

    這篇文章主要介紹了Golang學習筆記之延遲函數(shù)(defer),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • Go 語言數(shù)據(jù)結構之雙鏈表學習教程

    Go 語言數(shù)據(jù)結構之雙鏈表學習教程

    這篇文章主要為大家介紹了Go 語言數(shù)據(jù)結構之雙鏈表學習教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • 詳解Golang中errors包如何返回自定義error類型

    詳解Golang中errors包如何返回自定義error類型

    這篇文章主要為大家詳細介紹了Golang中errors包如何返回自定義error類型,文中的示例代碼簡潔易懂,有需要的小伙伴可以跟隨小編一起學習一下
    2023-09-09

最新評論