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:
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:
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:
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:
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 (opens in a new tab)
- Syntax.fmListen to the Syntax Podcast (opens in a new tab)
- Listen to the Syntax Podcast (opens in a new tab)
![Syntax.fm logo]()
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 150,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.
