차이점: 1. C 언어 소스 파일의 확장자는 ".h"와 ".c"인 반면, Go 언어 소스 파일의 확장자는 ".go"입니다. 2. C 언어에서는 파일을 통해 코드를 관리하지만, Go 언어에서는 패키지를 통해 코드를 관리합니다. 3. C 언어에는 총 32개의 키워드가 있고, Go 언어에는 총 25개의 키워드가 있습니다.
이 튜토리얼의 운영 환경: windows7 시스템, c99&&GO 버전 1.18, Dell G3 컴퓨터.
파일 확장자 | 소스 유형 |
---|---|
.h | 코드 선언이 저장되는 헤더 파일 |
.c | C 언어 소스 파일, 코드 구현 저장 |
파일 확장자 | 소스 유형 |
---|---|
.go | Go 언어 소스 파일, 코드 구현 저장 |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|
if | else | 스위치 | case | default | break | 반환 유형 def | structenum |
char | shortint long | floatdoublevoid | sizeof | signedunsigned | const | ||
auto | register | 정적 | 외부 | 휘발성 | Go 언어에는 총 25개의 키워드가 있습니다 | ||
1 | 234 | 5 | 6 | 7 | 8 |
else | switch | case | |||||
---|---|---|---|---|---|---|---|
break | return | goto | ㅋㅋㅋ const | map func | interface rangeimport | packagedefergo | selectchan |
데이터 유형 비교 | C 언어 데이터 유형|||||||
Go 언어 데이터 유형 | C 언어의 각 데이터 유형은 메모리 공간을 차지합니다 | ||||||
종류 | 32비트 컴파일러 | 64비트 컴파일러
1 |
1 |
int |
4 | 4
8
short
2
long long | 8 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
void* | 4 | 8 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Go 언어의 기본 데이터 유형 내부 구현
// 第8行到35行 typedef signed char int8; typedef unsigned char uint8; typedef signed short int16; typedef unsigned short uint16; typedef signed int int32; typedef unsigned int uint32; typedef signed long long int int64; typedef unsigned long long int uint64; typedef float float32; typedef double float64; #ifdef _64BIT typedef uint64 uintptr; typedef int64 intptr; typedef int64 intgo; // Go's int typedef uint64 uintgo; // Go's uint #else typedef uint32 uintptr; typedef int32 intptr; typedef int32 intgo; // Go's int typedef uint32 uintgo; // Go's uint #endif #ifdef _64BITREG typedef uint64 uintreg; #else typedef uint32 uintreg; #endif // 第153行到157行 enum { true = 1, false = 0, }; 로그인 후 복사
常量变量对比
数据类型 变量名称 = 值; const 数据类型 常量名称 = 值; 로그인 후 복사
var 变量名称 数据类型 = 值; const 变量名称 数据类型 = 值; 로그인 후 복사 注释对比
int main(){ /* 0110 a &^1011 b 如果b位位1,那么结果为0, 否则结果为a位对应的值 ---------- 0100 */ a1 := 6 b1 := 11 res1 := a1 &^ b1 fmt.Println("res1 = ", res1) // 4 /* 1011 a &^1101 b 如果b位位1,那么结果为0, 否则结果为a位对应的值 ---------- 0010 */ a2 := 11 b2 := 13 res2 := a2 &^ b2 fmt.Println("res2 = ", res2) // 2 } 로그인 후 복사 로그인 후 복사
상수 변수 비교
int main(){ /* 0110 a &^1011 b 如果b位位1,那么结果为0, 否则结果为a位对应的值 ---------- 0100 */ a1 := 6 b1 := 11 res1 := a1 &^ b1 fmt.Println("res1 = ", res1) // 4 /* 1011 a &^1101 b 如果b位位1,那么结果为0, 否则结果为a位对应的值 ---------- 0010 */ a2 := 11 b2 := 13 res2 := a2 &^ b2 fmt.Println("res2 = ", res2) // 2 } 로그인 후 복사 로그인 후 복사
流程控制语句对比
函数和方法对比
返回值类型 函数名称(形参列表) { 函数体相关语句; return 返回值; } 로그인 후 복사 로그인 후 복사
func 函数名称(形参列表)(返回值列表) { 函数体相关语句; return 返回值; } 로그인 후 복사 로그인 후 복사
func (接收者 接受者类型)函数名称(形参列表)(返回值列表) { 函数体相关语句; return 返回值; } 로그인 후 복사 编程思想对比
更多编程相关知识,请访问:编程视频!! |
위 내용은 C 언어와 Go 언어의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!