返回顶部
首页 > 资讯 > 后端开发 > GO >为什么 go lang 中的关键字有严格的代码格式
  • 915
分享到

为什么 go lang 中的关键字有严格的代码格式

2024-04-04 23:04:19 915人浏览 泡泡鱼
摘要

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《为什么 Go lang 中的关键字有严格的代码格式》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~问题内

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《为什么 Go lang 中的关键字有严格的代码格式》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~

问题内容

正如每个从 go 开始的新程序员所认为的那样,您看到的是严格的代码格式。 意思是:

//valid
func foo(){
}

//invalid
func foo()
{
}

if-else 也是如此,否则应该在 if 结束的同一行中,例如:

//valid
if{
}else{
}

//invalid
if{
}
else{
}

我们得到以下错误:

syntax error: unexpected else, expecting }

我已经检查了规格,但无法找到原因。

我得到的唯一解释是它的强制性

任何人都可以向我们解释为什么这是强制性的吗?这有什么原因吗?如果有的话。

更新

我想我已经提到过“我知道郎这么说”,问题是为什么? 为什么要花这么长的时间来使其编译时错误,如果我们不这样做会带来什么问题?


解决方案


该语言就是这样设计的,常见问题解答中概述了原因。

https://golang.org/doc/faq

为什么有大括号但没有分号?为什么我不能将左大括号放在下一行?

o 使用大括号作为语句 分组,这是使用过任何语言的程序员所熟悉的语法 C 家族中的语言。然而,分号是用于解析器的,而不是用于 对于人来说,我们想尽可能地消除它们。到 为了实现这个目标,Go 借鉴了 BCPL 的一个技巧:分号 单独的语句在正式语法中但被注入 由词法分析器在任何行的末尾自动进行,无需前瞻 这可能是声明的结尾。这在实践中非常有效 但具有强制大括号样式的效果。例如, 函数的左大括号不能单独出现在一行上。

一些人认为词法分析器应该进行前瞻以允许 做好下一线的准备。我们不同意。由于 Go 代码的目的是 由 gofmt 自动格式化,必须选择某种样式。那 风格可能与您在 C 或 Java 中使用的不同,但 Go 是 不同的语言和gofmt的风格一样好。更多的 重要的是——更重要的是——单一的优势, 所有 Go 程序的编程强制格式都远远超过 特定风格的任何明显缺点。还要注意的是 Go 的风格意味着 Go 的交互式实现可以使用 标准语法一次一行,没有特殊规则。

Go 插入一个 ;在以某些标记(包括 })结尾的行的末尾。 由于 if {...} else {...} 是单个语句,因此您不能在第一个右括号(即 } 之后)的中间放置分号,因此将 } else { 放在一行上的要求是强制性的。

希望它能回答您的问题。

理论要掌握,实操不能落!以上关于《为什么 go lang 中的关键字有严格的代码格式》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注编程网公众号吧!

您可能感兴趣的文档:

--结束END--

本文标题: 为什么 go lang 中的关键字有严格的代码格式

本文链接: https://lsjlt.com/news/596450.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 为什么 go lang 中的关键字有严格的代码格式
    本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《为什么 go lang 中的关键字有严格的代码格式》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~问题内...
    99+
    2024-04-04
  • Htlm的标准代码格式是什么
    这篇“Htlm的标准代码格式是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Htlm的...
    99+
    2024-04-02
  • Go语言中的关键字和数组有什么关联?
    Go语言是一门功能强大的编程语言,它拥有许多独特的特性和功能。其中,关键字和数组是Go语言中的两个重要概念,它们之间存在着紧密的联系。在本篇文章中,我们将深入探讨Go语言中的关键字和数组之间的关联。 一、Go语言中的关键字 Go语言中的关键...
    99+
    2023-07-19
    关键字 框架 数组
  • javascript汉字转编码的格式是什么
    这篇文章主要介绍“javascript汉字转编码的格式是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“javascript汉字转编码的格式是什么”文章能帮助大家解决问题。UTF-8编码是Unic...
    99+
    2023-07-06
  • Windows中格式化与快速格式化的区别有什么
    今天就跟大家聊聊有关Windows中格式化与快速格式化的区别有什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。顾名思义,从字面上就能知道快速格式化的速度要快于格式化的速度! 他们还...
    99+
    2023-06-14
  • PHP7中新增的可选的严格模式:如何提升代码的质量和性能?
    PHP7中新增了可选的严格模式,这一新增功能可以帮助开发者提升代码的质量和性能。本文将通过介绍严格模式的特点和具体使用示例,帮助读者理解如何利用严格模式来提升代码质量和性能。一、严格模式的特点严格模式是PHP7新增的一个特性,它通过一系列的...
    99+
    2023-10-22
    PHP 性能优化 严格模式
  • CSS代码格式化的不同表现方式是什么
    这篇文章主要介绍了CSS代码格式化的不同表现方式是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。   格式化与CSS的功能无关。这些仅...
    99+
    2024-04-02
  • Java中的volatile关键字有什么用
    本篇内容主要讲解“Java中的volatile关键字有什么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java中的volatile关键字有什么用”吧!一、volatile作用可以保证多线程环...
    99+
    2023-06-30
  • Python中的EAFP和LBYL代码风格是什么
    本篇内容介绍了“Python中的EAFP和LBYL代码风格是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. EAFP 风格Pytho...
    99+
    2023-06-15
  • java中的transient关键字有什么作用
    作用:体现在将数据序列化的时候,你不想把其中的某个属性序列化到文件中,就需要用transient修饰,指明该属性是一个临时的属性相关java视频教程:java免费视频教程这是一个学生类:public class Student implem...
    99+
    2017-01-06
    java入门 java transient 关键字 作用
  • 华为云服务器账号密码是什么格式的
    华为云服务器账号密码通常是一组字母和数字的组合,以便您可以随时访问云服务器提供的服务。 您可以为华为云服务器选择不同的密码长度和字符集,但是请确保您的密码不容易被猜测到。如果您需要更长的密码,建议您使用强密码或更复杂的密码。 另外,密码也...
    99+
    2023-10-26
    华为 账号 密码
  • 华为云服务器登录密码是什么格式的
    华为云服务器登录密码一般会以数字和字母组合的形式存储在密码文件中。以下是一份可能的密码格式示例: 密码文件名为“sudoku_pass”,密码长度至少为8位。请注意,在密码文件中,密码应该是字母和数字的混合,不能使用特殊字符或空格。 其中...
    99+
    2023-10-26
    华为 密码 格式
  • Python中字符串格式化的方法是什么
    Python中字符串格式化的方法有两种: 使用百分号(%)进行格式化,例如: name = 'Alice' ...
    99+
    2024-04-02
  • PHP7中新增的可选的严格模式:如何更好地创建和维护高质量的代码?
    PHP7中引入了一个令人兴奋的特性 - 可选的严格模式。通过启用严格模式,开发人员可以更好地创建和维护高质量的代码。本文将介绍PHP7中严格模式的使用方法,并提供一些具体的代码示例。首先,让我们来了解一下什么是严格模式。严格模式是PHP7中...
    99+
    2023-10-25
    PHP 可选的严格模式 高质量的代码
  • 华为云服务器登录密码是什么格式的啊
    华为云服务器登录密码一般都是明文,如果您需要使用华为云服务器,建议您使用华为云安全服务提供的密码重置服务来进行密码重置。具体步骤如下: 登录华为云安全服务网站:进入网站后,选择“忘记密码”或“密码重置”选项,按照指示进行操作; 选择重置...
    99+
    2023-10-26
    华为 密码 格式
  • 华为云服务器账号密码是什么格式的啊
    华为云服务器账号密码一般有以下几种格式: 数字证书:通常是一个数字标识符(如 USB_KEY),可用于加密数字证书中的信息,以防止未经授权的访问。 用户名和密码:用户名和密码通常是一组数字或字符,用于登录。如果您忘记了密码,可以通过提供...
    99+
    2023-10-26
    华为 账号 密码
  • php格式化代码保存到文件的方法是什么
    要将PHP代码格式化并保存到文件,可以使用以下步骤:1. 将PHP代码保存到一个字符串变量中。2. 使用PHP的内置函数`file_...
    99+
    2023-10-11
    php
  • Go语言中new和make关键字的区别是什么
    这篇文章主要介绍了Go语言中new和make关键字的区别是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Go语言中new和make关键字的区别是什么文章都会有所收获,下面我们一起来看看吧。newnew 是一...
    99+
    2023-07-05
  • PHP中的信息格式化操作有什么用
    这篇文章主要讲解了“PHP中的信息格式化操作有什么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP中的信息格式化操作有什么用”吧!在国际化组件的学习过程中,我们已经接触过了Number...
    99+
    2023-06-20
  • U盘中的fat32和ntfs格式有什么区别
    这篇文章主要介绍了U盘中的fat32和ntfs格式有什么区别,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 日常生活中,我们经常会用到U盘。U盘的主要格式有fat3...
    99+
    2023-06-28
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作