Sentry Answers>Go>

Converting a string to an integer in Go

Converting a string to an integer in Go

Clive B.

The Problem

You don’t know how to convert a string to an integer in Go.

The Solution

The simplest way to convert a string to an integer is to use the Atoi function from the strconv package.

For example, you can convert the string "123" to the value 123 as follows:

Click to Copy
package main import ( "fmt" "log" "strconv" ) func main() { example := "123" integer, err := strconv.Atoi(example) if err != nil { log.Fatal("failed to convert string to integer", err) } fmt.Println(integer + 1) }

This prints the sum of the integer plus one:

Click to Copy
124

For performance reasons (and convenience), the above example assumes that your integer is a base-10 signed integer.

If you need more control, you can use the ParseInt function from the same package:

Click to Copy
package main import ( "fmt" "log" "strconv" ) func main() { hexadecimal := "7b" integer, err := strconv.ParseInt(hexadecimal, 16, 32) if err != nil { log.Fatal("failed to convert string to integer", err) } fmt.Println(integer + 1) }

This prints the sum of the integer plus one:

Click to Copy
124

Note: Although the above example uses base 16 and bit size 32, ParseInt still returns a 64-bit integer.

Converting Strings to Other Numerical Types

If you want to convert a string to another numerical type, you can use the ParseFloat, ParseUint, or ParseComplex functions, also from the strconv package.

  • SentryGo Error Tracking and Performance Monitoring
  • Syntax.fmListen to the Syntax Podcast
  • Syntax.fm logo
    Listen to the Syntax Podcast

    Tasty treats for web developers brought to you by Sentry. Get tips and tricks from Wes Bos and Scott Tolinski.

    SEE EPISODES

Considered “not bad” by 4 million developers and more than 100,000 organizations worldwide, Sentry provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.

© 2024 • Sentry is a registered Trademark of Functional Software, Inc.