golang is a very excellent programming language. Its powerful functions and concise syntax make it the choice of more and more developers. In golang, base conversion is a very basic and commonly used operation. Let's learn about base conversion in golang.
In golang, commonly used bases include binary, octal, decimal and hexadecimal. Let's take a look at how to convert between these different bases.
1. Convert decimal to other bases
In golang, you can use the FormatInt function in the fmt package to convert a decimal number into a string in the specified base. The prototype of this function is as follows:
func FormatInt(i int64, base int) string
Among them, i represents the decimal number that needs to be converted, and base is the target base, which can be 2, 8, 10 or 16. For example, to convert the decimal number 18 into binary, the code is as follows:
package main import ( "fmt" "strconv" ) func main() { n := int64(18) b := strconv.FormatInt(n, 2) fmt.Printf("2进制:%s ", b) }
The running result is:
2进制:10010
In the above code, use the FormatInt function of strconv to convert the decimal number 18 into binary Copy the string and print it.
Similarly, we can convert decimal to other bases by changing the base parameter. For example, to convert the decimal number 18 to octal or hexadecimal, the code is as follows:
package main import ( "fmt" "strconv" ) func main() { n := int64(18) o := strconv.FormatInt(n, 8) h := strconv.FormatInt(n, 16) fmt.Printf("8进制:%s ", o) fmt.Printf("16进制:%s ", h) }
The running result is:
8进制:22 16进制:12
2. Convert other decimals to decimal
in In golang, you can use the ParseInt function in the strconv package to convert a number represented by a string into a decimal number. The prototype of this function is as follows:
func ParseInt(s string, base int, bitSize int) (i int64, err error)
Among them, s represents the string to be converted, base represents the base of s, which can be 0, 2, 8, 10 or 16, and bitSize represents the number of digits in the result, which can be is 0, 8, 16, 32 or 64. For example, to convert the binary number 10010 to decimal, the code is as follows:
package main import ( "fmt" "strconv" ) func main() { b := "10010" n, _ := strconv.ParseInt(b, 2, 64) fmt.Printf("10进制:%d ", n) }
The running result is:
10进制:18
In the above code, use the ParseInt function of strconv to convert the binary string into a decimal number. and print it out.
Similarly, we can convert strings in other bases into decimal numbers by changing the base parameter. For example, to convert the octal string "22" or the hexadecimal string "12" into a decimal number, the code is as follows:
package main import ( "fmt" "strconv" ) func main() { o := "22" h := "12" on, _ := strconv.ParseInt(o, 8, 64) hn, _ := strconv.ParseInt(h, 16, 64) fmt.Printf("8进制:%d ", on) fmt.Printf("16进制:%d ", hn) }
The running result is:
8进制:18 16进制:18
You can see it through the above code It is very convenient to perform hexadecimal conversion in golang. Proficiency in base conversion is essential for golang development work.
The above is the detailed content of golang base conversion. For more information, please follow other related articles on the PHP Chinese website!

Toensureinitfunctionsareeffectiveandmaintainable:1)Minimizesideeffectsbyreturningvaluesinsteadofmodifyingglobalstate,2)Ensureidempotencytohandlemultiplecallssafely,and3)Breakdowncomplexinitializationintosmaller,focusedfunctionstoenhancemodularityandm

Goisidealforbeginnersandsuitableforcloudandnetworkservicesduetoitssimplicity,efficiency,andconcurrencyfeatures.1)InstallGofromtheofficialwebsiteandverifywith'goversion'.2)Createandrunyourfirstprogramwith'gorunhello.go'.3)Exploreconcurrencyusinggorout

Developers should follow the following best practices: 1. Carefully manage goroutines to prevent resource leakage; 2. Use channels for synchronization, but avoid overuse; 3. Explicitly handle errors in concurrent programs; 4. Understand GOMAXPROCS to optimize performance. These practices are crucial for efficient and robust software development because they ensure effective management of resources, proper synchronization implementation, proper error handling, and performance optimization, thereby improving software efficiency and maintainability.

Goexcelsinproductionduetoitsperformanceandsimplicity,butrequirescarefulmanagementofscalability,errorhandling,andresources.1)DockerusesGoforefficientcontainermanagementthroughgoroutines.2)UberscalesmicroserviceswithGo,facingchallengesinservicemanageme

We need to customize the error type because the standard error interface provides limited information, and custom types can add more context and structured information. 1) Custom error types can contain error codes, locations, context data, etc., 2) Improve debugging efficiency and user experience, 3) But attention should be paid to its complexity and maintenance costs.

Goisidealforbuildingscalablesystemsduetoitssimplicity,efficiency,andbuilt-inconcurrencysupport.1)Go'scleansyntaxandminimalisticdesignenhanceproductivityandreduceerrors.2)Itsgoroutinesandchannelsenableefficientconcurrentprogramming,distributingworkloa

InitfunctionsinGorunautomaticallybeforemain()andareusefulforsettingupenvironmentsandinitializingvariables.Usethemforsimpletasks,avoidsideeffects,andbecautiouswithtestingandloggingtomaintaincodeclarityandtestability.

Goinitializespackagesintheordertheyareimported,thenexecutesinitfunctionswithinapackageintheirdefinitionorder,andfilenamesdeterminetheorderacrossmultiplefiles.Thisprocesscanbeinfluencedbydependenciesbetweenpackages,whichmayleadtocomplexinitializations


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

Dreamweaver CS6
Visual web development tools
