English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
필수 조건, 다음을 배웠어야 합니다:Golang 데이터 타입
때문에 우리가 하나의 데이터 타입의 값을 다른 데이터 타입에 할당할 때 타입 변환이 발생합니다. C와 같은 / C ++Java와 같은 정적 타입 언어는 은닉 타입 변환을 지원하지만, Golang은 다르며, 데이터 타입이 상호 호환되더라도도 지원하지 않습니다자동 타입 변환 또는 은닉 타입 변환그 이유는 Golang의 강력한 타입 시스템이 이를 허용하지 않기 때문입니다. 타입 변환을 위해 명시적 변환을 수행해야 합니다.
Golang은 어떻게 타입 변환을 합니까?
데이터 타입 계층 구조의 특정 기능을 사용하려면, 실체를 하나의 데이터 타입에서 다른 데이터 타입으로 변환해야 합니다. 값을 val을 타입 T로 변환하는 일반 문법은 T(val)입니다.
var w3codebox1 int = 845 // 명시적 타입 변환 var w3codebox2 float64 = float64(w3codebox1) var w3codebox3 int64 = int64(w3codebox1) var w3codebox4 uint = uint(w3codebox1)
//평균 계산 package main import "fmt" func main() { var totalsum int = 446 var number int = 23 var avg float32 // 명시적 타입 변환 avg = float32(totalsum) / float32(number) // 결과를 표시합니다 fmt.Printf("평균 = %f\n", avg) }
출력:
평균 = 19.3913저작권 ©4
주의:Golang은 강력한 타입 시스템을 가지고 있어서 수학 연산(예를 들어 더하기, 빼기, 곱하기, 나누기 등)에서 숫자 타입을 혼합하여 사용하거나 두 혼합 타입 간에 타입 할당을 허용하지 않습니다.
var w3codebox1 int64 = 875 //그것은 컴파일 시 오류를 우리에게 발생시킵니다 //혼합된 타입을 사용하면 예를 들어 int를64int 타입으로 var w3codebox2 int = w3codebox1 var w3codebox3 int = 10저작권 © //그것은 컴파일 시 오류를 발생시킵니다 //이는 무효한 연산입니다 //때문에 타입은 혼합된 int입니다64 와 int를 더 합니다 var addition = w3codebox1 + 03codebox3