Table of Contents
Go language is a C-like high-level language
The difference between Go language and C language
Home Backend Development Golang What language is close to go?

What language is close to go?

Dec 06, 2022 pm 06:49 PM
go golang go language

go is close to the c language. Go is a C-like high-level language, described as a "C-like language", or "the C language of the 21st century". Go inherits similar expression syntax, control flow structure, basic data types, call parameter value transfer, pointers and many other ideas from C language. It also has the running efficiency of compiled machine code that C language has always valued and is consistent with existing Seamless adaptation to the operating system.

What language is close to go?

The operating environment of this tutorial: Windows 7 system, GO version 1.18, Dell G3 computer.

go is close to the c language.

Go language is a C-like high-level language

Go language (or Golang) originated in 2007 and was officially released in 2009. Go is a very young language, and its main goal is to "have both the development speed of dynamic languages ​​such as Python and the performance and security of compiled languages ​​such as C/C."

Go language is a computer programming language similar to C language, C language, Python, and Java.

The Go language is sometimes described as a "C-like language", or "the C language of the 21st century". Go inherits similar expression syntax, control flow structure, basic data types, call parameter value transfer, pointers and many other ideas from C language. It also has the running efficiency of compiled machine code that C language has always valued and is consistent with existing Seamless adaptation to the operating system.

Go language is another attempt at programming language design and a major improvement over C-like languages. It not only allows you to access the underlying operating system, but also provides powerful network programming and concurrent programming support. Go language has many uses and can be used for network programming, system programming, concurrent programming, and distributed programming. [Related recommendations: Go video tutorial, Programming teaching]

What language is close to go?

The difference between Go language and C language

Go's syntax is close to C language, but the declaration of variables is different. Go supports garbage collection. Go's parallel model is based on Tony Hall's Communicating Sequential Process (CSP). Other languages ​​that adopt a similar model include Occam and Limbo, but it also has features of Pi operations, such as channel transmission. Plugin support is opened in version 1.8, which means that some functions can now be dynamically loaded from Go.

Source file comparison

  • C language source file
File extension Source type
.h Header file, storing code declaration
.c C language source file, storing code implementation
  • Go language source file
File extension Source type
.go Go language source file, storing code Implementation

Comparison of code management

  • Manage code through files in C language
    • Want to use For a certain function, you only need to include the corresponding .h file.
  • Go language uses packages to manage code
    • Go language does not have the concept of .h file , when you want to use a certain function in Go, you only need to import the corresponding package
  • Public and private management of functions and variables in C language
    • Through extern and Static implements whether to expose functions and variables
  • Public and private management of functions and variables in Go language
    • Implements whether to expose functions by capitalizing the first letter of the function name
    • Realize whether to expose variables by case of the first letter of the variable name

Comparison of keywords

  • There are total in C language 32 keywords
##1234 5678##elseswitchcasedefaultwhilestructcharshortintlongfloatdoublevoidsizeofsignedunsignedconststaticexternvolatile
  • There are a total of 25 keywords in Go language
##if ##break return goto do
for ##continue typedef enumunion
autoregister
fallthrough##continuestructconstfuncinterfacerangeimportpackagedefergoselectchan#Data type comparison
1 2 3 4 5 6 7 8
if else ##switch case default break return ##goto
for type var map







C language data types

  • What language is close to go?Go language data types

  • Each C language data type occupies memory spaceWhat language is close to go?

    Type32-bit compilerchar 14482##long48long long888
    64-bit compiler
    1 int
    4 float
    4 double
    8 short
    2
    ##void* 4
    Each data type in Go language occupies memory space
    • Type
    32-bit compiler64-bit compiler##int8/uint811signed char/unsigned charint16/uint1622signed short/unsigned shortint32/uint3244signed int /unsigned intint64/uint6488signed long long int/unsigned long long intbyte11uint8/unsigned charrune44int32/signed intint48Determine the length according to the number of machine digitsuintptr48Determine the length uint32 according to the number of machine digits /uint64float3244floatfloat6488doubletrue11Integer type of charfalse11Integer type of charComment comparison
    Essence
    Like C language, Go language also supports single-line comments and multi-line comments, and all comments The features are the same as those of C language

    Single-line comments//Commented content

      Multi-line comments
    • /*Commented content*/
      • In the Go language, it is officially recommended to use single-line comments instead of multi-line comments (for details, you can directly view the Go official source code)
      • More programming-related knowledge , please visit:
      • programming video
      ! !

    The above is the detailed content of What language is close to go?. For more information, please follow other related articles on the PHP Chinese website!

    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

    Hot AI Tools

    Undresser.AI Undress

    Undresser.AI Undress

    AI-powered app for creating realistic nude photos

    AI Clothes Remover

    AI Clothes Remover

    Online AI tool for removing clothes from photos.

    Undress AI Tool

    Undress AI Tool

    Undress images for free

    Clothoff.io

    Clothoff.io

    AI clothes remover

    Video Face Swap

    Video Face Swap

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

    Hot Tools

    Notepad++7.3.1

    Notepad++7.3.1

    Easy-to-use and free code editor

    SublimeText3 Chinese version

    SublimeText3 Chinese version

    Chinese version, very easy to use

    Zend Studio 13.0.1

    Zend Studio 13.0.1

    Powerful PHP integrated development environment

    Dreamweaver CS6

    Dreamweaver CS6

    Visual web development tools

    SublimeText3 Mac version

    SublimeText3 Mac version

    God-level code editing software (SublimeText3)

    What libraries are used for floating point number operations in Go? What libraries are used for floating point number operations in Go? Apr 02, 2025 pm 02:06 PM

    The library used for floating-point number operation in Go language introduces how to ensure the accuracy is...

    What is the problem with Queue thread in Go's crawler Colly? What is the problem with Queue thread in Go's crawler Colly? Apr 02, 2025 pm 02:09 PM

    Queue threading problem in Go crawler Colly explores the problem of using the Colly crawler library in Go language, developers often encounter problems with threads and request queues. �...

    In Go, why does printing strings with Println and string() functions have different effects? In Go, why does printing strings with Println and string() functions have different effects? Apr 02, 2025 pm 02:03 PM

    The difference between string printing in Go language: The difference in the effect of using Println and string() functions is in Go...

    How to solve the user_id type conversion problem when using Redis Stream to implement message queues in Go language? How to solve the user_id type conversion problem when using Redis Stream to implement message queues in Go language? Apr 02, 2025 pm 04:54 PM

    The problem of using RedisStream to implement message queues in Go language is using Go language and Redis...

    What should I do if the custom structure labels in GoLand are not displayed? What should I do if the custom structure labels in GoLand are not displayed? Apr 02, 2025 pm 05:09 PM

    What should I do if the custom structure labels in GoLand are not displayed? When using GoLand for Go language development, many developers will encounter custom structure tags...

    Which libraries in Go are developed by large companies or provided by well-known open source projects? Which libraries in Go are developed by large companies or provided by well-known open source projects? Apr 02, 2025 pm 04:12 PM

    Which libraries in Go are developed by large companies or well-known open source projects? When programming in Go, developers often encounter some common needs, ...

    In Go programming, how to correctly manage the connection and release resources between Mysql and Redis? In Go programming, how to correctly manage the connection and release resources between Mysql and Redis? Apr 02, 2025 pm 05:03 PM

    Resource management in Go programming: Mysql and Redis connect and release in learning how to correctly manage resources, especially with databases and caches...

    Golang's Purpose: Building Efficient and Scalable Systems Golang's Purpose: Building Efficient and Scalable Systems Apr 09, 2025 pm 05:17 PM

    Go language performs well in building efficient and scalable systems. Its advantages include: 1. High performance: compiled into machine code, fast running speed; 2. Concurrent programming: simplify multitasking through goroutines and channels; 3. Simplicity: concise syntax, reducing learning and maintenance costs; 4. Cross-platform: supports cross-platform compilation, easy deployment.

    See all articles