Я хочу записать операции ввода-вывода порта в текстовый файл с языком Go.
Я написал такую функцию:
func trace (buffer []byte){
f, err := os.OpenFile("trace.log", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
if err != nil {
return
}
defer f.Close()
for _, val := range buffer{
if _, err := f.Write([]byte{val});err!=nil{return}
}
}
Но метод f.Write записывает в файл строковый эквивалент ASCII, но не [] байтовые значения. Мне нужны шестнадцатеричные значения, а не строки в моем журнале. Не могу понять, почему код f.Write([]byte{"string"})
действителен, а что-то вроде f.Write([]byte{fmt.Spirintf("%x", val)})
не компилируется ...