2016-07-27 28 views
0

我需要隱藏密碼。 我得到了(不匹配類型[]byteint)。 我該如何解決它?我如何從int轉換爲[]byte如何轉換golang中的類型?

package main 

import ("fmt"; "github.com/howeyc/gopass") 

func main() { 
    var user string 
    maping := map[string]int{"dasha": 123, "mike": 777} 

    fmt.Println("Enter username: ") 
    fmt.Scan(&user) 
    fmt.Printf("Enter password: ") 
    pass, err := gopass.GetPasswd() 
    if err != nil { 
     return 
    } 
    if pass == maping[user] { 
     fmt.Println("bingo") 
    }else{ 
     fmt.Println("the login or password is not correct") 
    } 
} 

回答

2

你可以做strconvAtoi()功能轉換:

i, err := strconv.Atoi("-42") 

你想轉換您的[]bytestring

s := string(byteArray[:]) 

所以組合

i, err := strconv.Atoi(string(pass[:])) 
+3

請注意,Golang只允許通過執行明確的類型轉換來將[]字節轉換爲字符串(反之亦然),因爲字符串的基本類型實際上*是* a []字節。 但是正如你會注意到的,對於字符串和int類型也是如此。你需要的不僅僅是一個類型轉換(一個函數)來完成這個轉換。 –