关于go的基础语法以及一些代码规范的理解(主要记录与其他编程语言的不同点)

47 阅读2分钟

Go语言提供的工具都通过一个单独的命令 go 调用 编译运行方法: 一、         1、go build  ***.go

        2、***.exe

        或者 二、

        1、go run ***.go(这种方法不会生成.exe可执行文件)

import 声明必须跟在文件的 package 声明之后。随后,则是组成程序的函数、变量、常量、

类型的声明语句(分别由关键字 func , var , const , type 定义)。这些内容的声明顺序并

不重要。

函数的左括号 { 必须和 func 函数声明在同一行上, 且位于末尾,不能独占

一行,而在表达式 x + y 中,可在 + 后换行,不能在 + 前换行。

变量会在声明时直接初始化。如果变量没有显式初始化,则被隐式地赋予其类型的零值(zero value),

数值类型是0,字符串类型是空字符串""。这与java的的变量(引用类型)初始化不同,其不会默认分配一个零值而是null

循环索引变量i在for循环的第一部分中定义。符号 := 是短变量声明(short variable

declaration)的一部分, 这是定义一个或多个变量并根据它们的初始值为这些变量赋予适当类

型的语句。for循环的循环头的三个部分可以三个都有,也可以省略任意一个或者多个,甚至3个

用 空标识符 (blank identifier),即 _ (也就是下划线)可以解决Go语言不允许使用无用的局部变量的问题。即————用“_”代表一个temp变量,但不会去使用它的那种

如果一个名字是在函数内部定义,那么它的就只在函数内部有效。如果是在函数外部定义,那么将在当前包的所有文件中都可以访问。名字的开头字母的大小写决定了名字在包外的可见性。如果一个名字是大写字母开头的(译注:必须是在函数外部定义的包级名字;包级函数名本身也是包级名字),那么它将是导出的,也就是说可以被外部的包访问,例如fmt包的Printf函数就是导出的,可以在fmt包外部访问。包本身的名字一般总是用小写字母

关于map的一些随笔 m :=make(map[string]int)    //创建一个map<String,int>的键值对

m["one"]=1//赋值

delete(m,"one")//删除对应键值对