>  기사  >  백엔드 개발  >  golang은 암시적 변환을 수행할 수 없나요?

golang은 암시적 변환을 수행할 수 없나요?

(*-*)浩
(*-*)浩원래의
2019-12-17 14:06:182746검색

golang은 암시적 변환을 수행할 수 없나요?

아니요, 저자는 이 함수가 편리함보다 숨겨진 위험을 더 많이 가져온다고 믿습니다. Golang에서 Int와 int64는 동일한 유형이 아니며 암시적으로 변환될 수 없습니다.

Go 프로그래밍 언어는 프로그래머의 생산성을 높여주는 오픈 소스 프로젝트입니다. (추천 학습: Go

)

Go 언어는 표현력이 뛰어나고 간단하고 명확하며 효율적입니다. 동시성 메커니즘 덕분에 여기에 작성된 프로그램은 멀티 코어 및 네트워크로 연결된 컴퓨터를 효율적으로 사용할 수 있으며, 새로운 유형의 시스템은 프로그램 구조를 유연하고 모듈화합니다.

Go 코드는 기계어 코드로 매우 빠르게 컴파일될 뿐만 아니라 편리한 가비지 수집 메커니즘과 강력한 런타임 반영 메커니즘도 갖추고 있습니다.

동적으로 유형이 지정된 해석 언어처럼 느껴지는 빠르고 정적으로 유형이 지정된 컴파일 언어입니다.

Go 언어는 정적으로 유형이 지정된 언어이므로 변수에는 명확한 유형이 있으며 컴파일러는 변수 유형의 정확성도 확인합니다. 수학에서 변수는 고정된 값이 없고 변경될 수 있는 숫자를 나타냅니다. 그러나 컴퓨터 시스템 구현 관점에서 볼 때 변수는 데이터를 저장하는 데 사용되는 하나 이상의 메모리 세그먼트입니다.

변수 선언의 일반적인 형식은 var 키워드를 사용하는 것입니다.

var name type

여기서 var는 변수를 선언하는 키워드이고, name은 변수 이름이고, type은 변수의 유형입니다.

Go 언어는 변수를 선언할 때 변수 이름 뒤에 변수의 유형을 넣는다는 점에서 많은 프로그래밍 언어와 다르다는 점에 유의해야 합니다.

이렇게 하면 C 언어처럼 int* a, b;와 같은 모호한 선언 형식을 피할 수 있다는 장점이 있습니다. a만이 포인터이고 b는 포인터가 아닙니다. 두 변수를 모두 포인터로 사용하려면 별도로 작성해야 합니다.

Go에서는 포인터 유형으로 쉽게 선언할 수 있습니다.

var a, b *int
Go 언어의 기본 유형은 다음과 같습니다.

bool
string
int、int8、int16、int32、int64
uint、uint8、uint16、uint32、uint64、uintptr
byte // uint8 的别名
rune // int32 的别名 代表一个 Unicode 码
float32、float64
complex64、complex128

변수가 선언되면 시스템은 자동으로 해당 유형의 0을 할당합니다. 값: int 0, float는 0.0, bool은 false, string은 빈 문자열, 포인터는 nil 등입니다. Go의 모든 메모리가 초기화됩니다.

변수 명명 규칙은 낙타식 명명을 따릅니다. 즉, 첫 번째 단어는 소문자이고 각 새 단어의 첫 글자는 대문자로 표시됩니다(예: numShips 및 startDate).

변수 선언에는 여러 형태가 있으며 다음 섹션에 요약되어 있습니다.

표준 형식

Go 언어의 표준 변수 선언 형식은 다음과 같습니다.

var 变量名 变量类型

변수 선언은 var 키워드로 시작하고 그 뒤에 변수 유형이 따르며 줄 끝에 세미콜론이 필요하지 않습니다. . 🎜

위 내용은 golang은 암시적 변환을 수행할 수 없나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.