分享
  1. 首页
  2. 文章

Go语言核心之美 1.1-命名篇

erlib · · 1278 次点击 · · 开始浏览
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

命名篇

1.Go的函数、变量、常量、自定义类型、包(Package)的命名方式遵循以下规则:

1)首字符可以是任意的Unicode字符或者下划线

2)剩余字符可以是Unicode字符、下划线、数字

3)字符长度不限


2.Go只有25个关键字

break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var

3.Go还有37个保留字

Constants: true false iota nil
Types: int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64 uintptr
float32 float64 complex128 complex64
bool byte rune string error
Functions: make len cap new append copy close delete
complex real imag
panic recover


4.可见性

1)声明在函数内部,是函数的本地值,类似private

2)声明在函数外部,是对当前包可见(包内所有.go文件都可见)的全局值,类似protect

3)声明在函数外部且首字母大写是所有包可见的全局值,类似public


5.命名风格

对本地变量,Go倾向于使用简短的命名方式,例如for循环中的i。变量的作用域越大,那变量的命名就要更有意义,例如RingCache。

Go变量建议使用驼峰命名法,例如parseRequest。缩写短语要么全部大写,要么全部小写。例如htmlEscape,HTMLEscape。


声明篇

有四种主要声明方式:var, const, type ,func(后续文章会详细介绍)。

Go的程序是保存在多个.go文件中,文件的第一行就是package XXX声明,用来说明该文件属于哪个包(package),package声明下来就是import声明,再下来是无关吮吸的类型,变量,常量,函数的声明。例如下面这个程序声明了一个常量、一个函数、一些变量

package main
import "fmt"
const boilingF = 212.0
func main() {
 var f = boilingF
 var c = (f - 32) * 5 / 9
 fmt.Printf("boiling point = %g°F or %g°C\n", f, c)
 // 输出:
 // boiling point = 212°F or 100°C
}

常量boillingF是包内可见的变量(就像函数main一样),f和c就是main函数的本地变量,只对main函数可见。如果一个变量是包内可见的,不仅仅当前的.go文件可见而且包内的所有.go文件都是可见的。

函数声明包含一个函数名,参数列表, 返回值列表和函数体。如果函数没有返回值,则返回列表可以省略。函数从第一条语句开始执行,直到执行return语句或者执行函数的最后一条语句。在下面的代码中,main函数调用了fToC函数两次,声明了两个本地的常量

package main
import "fmt"
func main() {
 const freezingF, boilingF = 32.0, 212.0
 fmt.Printf("%g°F = %g°C\n", freezingF, fToC(freezingF)) // "32°F = 0°C"
 fmt.Printf("%g°F = %g°C\n", boilingF, fToC(boilingF)) // "212°F = 100°C"
}
func fToC(f float64) float64 {
 return (f - 32) * 5 / 9
}






有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:erlib

查看原文:Go语言核心之美 1.1-命名篇

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
1278 次点击
暂无回复
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏