Golang Day01
-
标识符规则
-
Unicode编码字符或者
_
开头,但是不能数字开头,后面可以跟n个字符; -
_
是特殊标识符,叫做空白标识符,赋的值会被抛弃; -
标识符大写字母开头表示外部可引用,小写开头外部无法引用,相当于
public
private
;
-
-
函数
函数也是标识符的一种,
函数基本格式
func add(a, b) (c int) { return a + b } func add2(a, b) int { return a + b } func add3(a int, b int) int { return a + b } func hello(a string, b string) (string, string) { return a, b }
一般来说mian函数是第一个执行的函数,但是如果存在init函数,则init先执行
package main func main() { println("我是main,我执行了") } func init() { println("我是init,我执行了") }
我是init,我执行了 我是main,我执行了
-
数据类型
数据类型包括基本数据类型和复杂的数据类型
-
基本类型
int
float
bool
string
-
复杂类型
struct
array
- 切片
map
- 通道
-
抽象的
interface
-
自定义类型
type MyInt int type ( MyInt int MyStrinf string )
Go语言的数据类型不支持隐式转换,只能显示转换,Go 是强类型语言
valueB=typeB(valueA)
-
-
常量
常量必须在编译阶段就确认值,所以类似随机函数相关的就无法赋值使用
iota
是Go的一个常量计数器,在每遇到一个新的常量块或单个常量声明时,iota
都会重置为 0const a = iota const ( b1 = iota b2 = iota b3 = iota ) const ( c1 = iota c2 = iota ) func main() { fmt.Printf("a=%d\n", a) fmt.Printf("b1=%d,b2=%d,b3=%d\n", b1, b2, b3) fmt.Printf("c1=%d,c2=%d", c1, c2) }
-
变量
var name type = value
其中type可以省略,Go会自动推断,可以根据变量的值在编译时确定数据类型,同时Go的数据类型也可以在运行时推断。
这种写法是Go的简写声明方式,但是只能用于函数内部
a := 1
-
值类型和引用类型
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。