Home  >  Article  >  Backend Development  >  In-depth understanding of character and integer conversion in Golang

In-depth understanding of character and integer conversion in Golang

WBOY
WBOYOriginal
2024-04-03 12:39:02478browse

Go 语言中字符和整型可通过以下方式转换:字符转整型:使用 strconv.Atoi() 将字符串转换为十进制整型。整型转字符:使用 strconv.Itoa() 将整型转换为十进制字符串,该整型值会被视为 ASCII 码值。实战案例:进制转换:使用 strconv.ParseInt() 和 strconv.FormatInt() 转换不同进制的整型。ASCII 码转换:使用 byte() 和 int() 将字符和 ASCII 码值进行互相转换。

In-depth understanding of character and integer conversion in Golang

深入理解 Go 中字符和整型的转换

在 Go 语言中,字符和整型之间的转换是常见任务。本篇文章将深入解析这些转换背后的机制并提供实战案例。

字符转整型

strconv.Atoi() 函数可将字符串转换为整型:

import "strconv"

func CharToInt(char byte) (int, error) {
    return strconv.Atoi(string(char))
}

整型转字符

strconv.Itoa() 函数可将整型转换为字符串:

func IntToChar(num int) byte {
    return num + '0' // ‘0’ 的 ASCII 值为 48
}

实战案例

进制转换

func ConvertBase(num string, fromBase, toBase int) (string, error) {
    i, err := strconv.ParseInt(num, fromBase, 64)
    if err != nil {
        return "", err
    }
    return strconv.FormatInt(i, toBase), nil
}

ASCII 码转换

func AsciiToChar(ascii int) byte {
    return byte(ascii)
}

func CharToAscii(char byte) int {
    return int(char)
}

注意

  • strconv.ParseInt()strconv.FormatInt() 可处理不同进制的整型(例如二进制、八进制、十进制等)。
  • strconv.Atoi()strconv.Itoa() 仅处理十进制整型。
  • 如果字符串不是有效的整型表示,strconv.Atoi()strconv.ParseInt() 会返回错误。

The above is the detailed content of In-depth understanding of character and integer conversion in Golang. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn