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

小微 科技软件开发 | 编程语言比较:C 以及 Go已关闭评论142字数 1489阅读模式
摘要使用一个简单的计数程序比较古老的 C 语言和现代的 Go 语言。Go 是一种现代编程语言,它很大程度上源自于 C 编程语言。因此,对于写 C 程序的程序员来说,Go 应该会感觉很熟...

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

Go 是一种现代编程语言,它很大程度上源自于 C 编程语言。因而,对于写 C 程序的程序员来讲,Go 应当会感觉很熟识。Go 让编写新程序变得容易,同时让 C 程序员感觉熟识,但防止了 C 编程语言的许多常见陷阱。文章源自微观生活(93wg.com)微观生活-https://93wg.com/8478.html

怎么在 C 中执行循环

C 语言中最基本的循环是 for循环,它允许你对一组值进行迭代。for循环的基本语法是:文章源自微观生活(93wg.com)微观生活-https://93wg.com/8478.html

for { 循环内要执行的内容 ; }
文章源自微观生活(93wg.com)微观生活-https://93wg.com/8478.html

你可以编写一个 for循环,以打印从 1 到 10 的数字,将起始前提设置为count = 1,将收场前提设置为count 。这样就以 count变量等于 1 时开始循环。收场前提象征着只要count变量小于或等于 10 ,循环就会继续。文章源自微观生活(93wg.com)微观生活-https://93wg.com/8478.html

每一次迭代以后,你使用 count = count + 1count变量的值增添 1。在循环内部,你可使用printf打印count变量的值:文章源自微观生活(93wg.com)微观生活-https://93wg.com/8478.html

for 文章源自微观生活(93wg.com)微观生活-https://93wg.com/8478.html

for count = 1; count 文章源自微观生活(93wg.com)微观生活-https://93wg.com/8478.html

尽管上述方式在 Go 中是正确的,但它其实不是最经常使用的 Go 写法。采取惯例是“使用与本地语言为人所知的表达方式”。任何语言的目标都是高效的沟通,编程语言也不例外。在不同的编程语言之间进行转换时,重要的是意想到虽然物似而意不同,一种编程语言中的典型写法在另外一种编程语言中可能不完整相同。文章源自微观生活(93wg.com)微观生活-https://93wg.com/8478.html

为使用更相符惯例的 Go,你可以进行几个小修改:文章源自微观生活(93wg.com)微观生活-https://93wg.com/8478.html

  • 通过使用 +=操作符来将sum = sum + count更简洁地表达为sum += count
  • 通过使用 分配并推断类型运算符来表达count := 1而不是var count int随着count = 1:=语法同时定义并初始化count变量。
  • count的声明移到for循环的头中。这减少了一些认知负担,也通过减少程序员在任什么时候候都必需心里记着的变量数目来提高可读性。这个更改还通过在最接近其使用之处以及最小的规模中声明变量来增添安全性,从而减少了在代码不断演进的进程中对变量进行意外操作的可能性。

上述改动的组合将发生下列代码:文章源自微观生活(93wg.com)微观生活-https://93wg.com/8478.html

package main
import \"fmt\"

func main {
fmt.Println
var sum int
for count := 1; count

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

C 以及 Go 类似但不同

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

  • 在 C 中,每一个程序指令都必需以分号结尾。这告知编译器一个语句在哪里收场,下一个在哪里开始。在 Go 中,分号是有效的,但几近老是可以推断出来。
  • 尽管大多数现代 C 编译器会为你将变量初始化为零值,但 C 语言规范指出,变量得到的是内存中的任意值。Go 值老是初始化为其零值。这有助于使 Go 成为一种更具内存安全的语言。这类差异在使用指针时变得更为有趣。
  • 注意 Go 程序包对导入标识符的使用方式。例如,fmt是一个实现格式化输入以及输出的函数,相似于 C 中的stdio.h中的printf以及scanffmt程序包在pkg.go.dev/fmt中有文档描写。
  • 在 Go 中,main函数老是以退出代码 0 返回。如果你但愿返回其他值,你必需调用os.Exit,其中n一般是 1 以表示过错。这可以从任何处所调用,不单单是main函数,来终止程序。你可以在 C 中使用在stdlib.h中定义的exit函数来实现相同的效果。

via: https://opensource.com/article/23/4/c-vs-go-progra妹妹ing-languages

以上就是微观生活(93wg.com)关于“软件开发 | 编程语言比较:C 以及 Go”的详细内容,希望对大家有所帮助!

继续阅读
 
小微
  • 版权声明: 本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们(管理员邮箱:81118366@qq.com),情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
  • 转载请务必保留本文链接:https://93wg.com/8478.html