当前位置:首页 > 新闻动态 > 网站文章

软件开发 | 编程语言比较:C 和 Go

来源: 浏览:149 时间:2023-08-03

使用一个简单的计数程序比较古老的 C 语言和现代的 Go 语言。

Go 是一种现代编程语言,它很大程度上源自于 C 编程语言。因此,对于写 C 程序的程序员来说,Go 应该会感觉很熟悉。Go 让编写新程序变得容易,同时让 C 程序员感觉熟悉,但避免了 C 编程语言的许多常见陷阱。

本文比较了一个简单的 C 和 Go 程序,该程序将数字从一相加到十。由于这个程序只使用了小的数值,所以结果不会变得太大,因此只使用了普通的整数变量。像这样的循环在编程中非常常见,所以这个简单的程序很容易比较 C 和 Go。

如何在 C 中执行循环

forfor
for (起始条件 ; 结束条件 ; 每次迭代后执行的操作) { 循环内要执行的内容 ; }
forcount = 1count 。这样就以 count变量等于 1 时开始循环。结束条件意味着只要count变量小于或等于 10 ,循环就会继续。countcount
count = count + 1countprintfcount
for (count = 1; count 
++count++count = count + 1count++for
for (count = 1; count 
forsum
#include 
putsputs
printfprintf%d

如果你编译并运行这个程序,你会看到这个输出:

adding 1 to 10 ..
The sum is 55

如何在 Go 中执行循环

forforfor
for count = 1; count 

使用这个循环,你可以直接转换为 Go 的示例程序:

package main
import "fmt"
func main {
  var sum, count int
  fmt.Println("adding 1 to 10 ..")
for count = 1; count 

虽然上述方式在 Go 中是正确的,但它并不是最常用的 Go 写法。采用惯例是“使用与本地语言为人所知的表达方式”。任何语言的目标都是高效的沟通,编程语言也不例外。在不同的编程语言之间进行转换时,重要的是意识到尽管物似而意不同,一种编程语言中的典型写法在另一种编程语言中可能不完全相同。

为使用更符合惯例的 Go,你可以进行几个小修改:

+=sum = sum + countsum += countcount := 1var count intcount = 1:=countcountfor

上述改动的组合将产生以下代码:

package main
import "fmt"
func main {
  fmt.Println("adding 1 to 10 ..")
  var sum int
  for count := 1; count 

你可以使用这个 Go.dev 的 链接在 Go 试验场中尝试这个示例程序。

C 和 Go 相似但不同

通过在两种编程语言中编写相同的程序,你可以看到 C 和 Go 这两种语言虽然相似但仍然不同。将从 C 转换到 Go 时需要注意以下几点:

fmtstdio.hprintfscanffmtmainos.Exit(n)nmainstdlib.hexit(n)

(题图:MJ/8f731484-2dc3-4bac-b895-cbc92a63b48b)

via: https://opensource.com/article/23/4/c-vs-go-programming-languages

本文由 LCTT原创编译,Linux中国荣誉推出

地址 · ADDRESS

地址:建邺区新城科技园嘉陵江东街18号2层

邮箱:309474043@qq.Com

点击查看更多案例

联系 · CALL TEL

400-8793-956

售后专线:025-65016872

业务QQ:309474043    售后QQ:1850555641

©南京安优网络科技有限公司 版权所有   苏ICP备12071769号-4  网站地图