Go 语言写起来类似于C语言,因此熟悉C语言及其派生语言(C++、C#、Objective-C 等)的人都会迅速熟悉这门语言

编码风格

标识符命名规范

在习惯上,Go语言程序员推荐使用驼峰式命名,当名字有几个单词组成的时优先使用大小写分隔,而不是优先用下划线分隔。因此,在标准库有QuoteRuneToASCII和parseRequestLine这样的函数命名,但是一般不会用quote_rune_to_ASCII和parse_request_line这样的命名。而像ASCII和HTML这样的缩略词则避免使用大小写混合的写法,它们可能被称为htmlEscape、HTMLEscape或escapeHTML,但不会是escapeHtml。

去掉循环冗余括号

for 两边的括号被去掉,int 声明被简化为 :=,编译器通过右边的值推导出左边变量的类型并声明

for a := 0;a<10;a++{
// 循环代码
}

去掉表达式冗余括号

if 表达式{
// 表达式成立
}

强制的代码风格

左括号必须紧接着语句不换行,这个特性刚开始会使开发者不习惯,但随着对 Go 语言的不断熟悉,就会发现风格统一让大家在阅读代码时把注意力集中到了解决问题上,而不是代码风格上

不再纠结于 i++ 和 ++i

在 Go 语言中,自增操作符不再是一个操作符,而是一个语句。因此,在 Go 语言中自增只有一种写法:

i++

如果写成前置自增++i,或者赋值后自增a=i++都将导致编译错误

~ 后期慢慢补充

Go 代码风格和规范的更多相关文章

  1. 设置自己Eclipse代码风格(内部)

    http://www.cnblogs.com/farseer810/p/4391318.html 经过这几次的代码提交,发现很多人的代码风格不够规范.个人认为很有必要强制性规定一下代码的规范. 整体来 ...

  2. 设置自己Eclipse代码风格(内部)

    经过这几次的代码提交,发现很多人的代码风格不够规范.个人认为很有必要强制性规定一下代码的规范. 整体来说,有三种代码风格,其中两种类似于这样的: public void function(){ //f ...

  3. iOS关于代码风格问题

    cocoapods管理第三方库,详见cocoapods安装及使用 OC代码风格需要规范,所有第三方依赖需要用cocoapods管理.代码风格需要: 1. pod 'CodeFormatter', :g ...

  4. 【PSR规范专题(3)】PSR-2 代码风格规范

    [PSR规范专题(3)]PSR-2 代码风格规范 标签(空格分隔): PHP 转载自:https://github.com/PizzaLiu/PHP-FIG/blob/master/PSR-2-cod ...

  5. PHP PSR-2 代码风格规范 (中文版)

    代码风格规范 本篇规范是 PSR-1 基本代码规范的继承与扩展. 本规范希望通过制定一系列规范化PHP代码的规则,以减少在浏览不同作者的代码时,因代码风格的不同而造成不便. 当多名程序员在多个项目中合 ...

  6. 如何使用 Pylint 来规范 Python 代码风格

    如何使用 Pylint 来规范 Python 代码风格 转载自https://www.ibm.com/developerworks/cn/linux/l-cn-pylint/   Pylint 是什么 ...

  7. Linux内核编程规范与代码风格

    source: https://www.kernel.org/doc/html/latest/process/coding-style.html translated by trav, travmym ...

  8. PSR-2 代码风格规范

    https://blog.csdn.net/qq_28602957/article/details/52248239 这篇规范是PSR-1(基本代码规范)的扩展和继承. 本规通过制定一系列规范化PHP ...

  9. Java-编程规范与代码风格

    阿里巴巴 Java 开发手册 https://github.com/alibaba/p3c https://developer.aliyun.com/special/tech-java 唯品会规范 J ...

随机推荐

  1. Redis搭建集群

  2. keras损失函数

    keras文档:  http://keras.io/objectives/ mean_squared_error / mse  均方误差,常用的目标函数,公式为((y_pred-y_true)**2) ...

  3. myeclipse打开jsp后卡死的问题详解

    myeclipse打开jsp后卡死的问题详解   1,打开 Window -> Preferences -> General -> Editors -> File Associ ...

  4. Django之model补充:一对多、跨表操作

    表结构概述 model.py : class Something(models.Model): name = models.CharField(max_length=32) class UserTyp ...

  5. mysql新建数据库(database)设置为utf8

    CREATE DATABASE IF NOT EXISTS yourdbname DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

  6. Flutter easyrefresh示例 上拉加载+下拉刷新

    官方示例,简单改了下,实现功能为主. 代码如下: import 'dart:async'; import 'package:flutter/material.dart'; import 'packag ...

  7. 教你成为全栈工程师(Full Stack Developer) 四十五-一文读懂hadoop、hbase、hive、spark分布式系统架构

    转载自http://www.shareditor.com/blogshow?blogId=96 机器学习.数据挖掘等各种大数据处理都离不开各种开源分布式系统,hadoop用于分布式存储和map-red ...

  8. Mac配置虚拟环境Virtualenv,安装Python科学计算包详解

    参考: https://www.jianshu.com/p/51140800e8b4 安装 virtualenvwrapper Virtaulenvwrapper是virtualenv的扩展包,可以更 ...

  9. [转帖]Oracle报错ORA-26563--当重命名表时碰到物化视图

    Oracle报错ORA-26563--当重命名表时碰到物化视图 https://www.toutiao.com/i6739137279115133447/ 原创 波波说运维 2019-09-26 00 ...

  10. spring-cloud项目搭建

    springCloud项目搭建手册 springcloud应用场景及微服务框架发展趋势 Spring Cloud为开发人员提供了工具,以快速构建分布式系统中的某些常见模式(例如,配置管理,服务发现,断 ...