Home > Article > Backend Development > Can golang not perform implicit conversion?
No, the author believes that this function brings more hidden dangers than convenience. In Golang, Int and int64 are not the same type and cannot be implicitly converted.
Go programming language is an open source project that makes programmers more productive. (Recommended learning: Go )
(Language has strong expression ability, it is simple, clear and efficient. Thanks to its concurrency mechanism, programs written in it can make efficient use of multi-core and networked computers, and its novel type system makes program structures flexible and modular.
Go code is not only compiled into machine code very quickly, but also has a convenient garbage collection mechanism and a powerful runtime reflection mechanism. It is a fast, statically typed compiled language that feels like a dynamically typed interpreted language.
Go language is a statically typed language, so variables (variables) have clear types, and the compiler will also check the correctness of the variable type. In mathematical concepts, a variable represents a number that has no fixed value and can be changed. But from a computer system implementation perspective, a variable is one or more segments of memory used to store data.
The general form of declaring variables is to use the var keyword:
var name type
where var is the keyword to declare the variable, name is the variable name, and type is the type of the variable .
It should be noted that the Go language is different from many programming languages in that it puts the type of the variable after the name of the variable when declaring the variable.
The advantage of this is that it can avoid ambiguous declaration forms like in C language, such as: int* a, b;. Only a is a pointer and b is not. If you want both variables to be pointers, you need to write them separately.
In Go, they can and easily be declared as pointer types:
var a, b *int
The basic types of Go language are:
bool string int、int8、int16、int32、int64 uint、uint8、uint16、uint32、uint64、uintptr byte // uint8 的别名 rune // int32 的别名 代表一个 Unicode 码 float32、float64 complex64、complex128
When a variable is declared, the system automatically assigns it a zero value of that type: int is 0, float is 0.0, bool is false, string is an empty string, pointer is nil, etc. All memory in Go is initialized.
The naming rules of variables follow camel naming, that is, the first word is lowercase and the first letter of each new word is capitalized, for example: numShips and startDate.
There are several forms of variable declaration, which are summarized in the following sections.
Standard format
The standard format of variable declaration in Go language is:
var 变量名 变量类型
The variable declaration starts with the keyword var , post variable type, no semicolon is required at the end of the line.
The above is the detailed content of Can golang not perform implicit conversion?. For more information, please follow other related articles on the PHP Chinese website!