Go学习随笔(一)

1.常量

 使用 const 定义 格式如:

const identifier[type] = value

//例如

const pi float32 = 3.1415926....

const hello = "你好Go!"

const return = ture

const 人数 = 100

2.转义字符

Go使用反斜杠作为转义字符

例如 :换行符(\n), 制表符(\t)等等

3.赋值

func main() {
    a := 2   // :=  是GO的一种简写 , 表示函数内部声明并赋值
    b := 20
    c = a
    fmt.Println(a,b,c)
}

注意:
    d := n++
    if n++ == 1 {}
    ++n 

上门这三个都是错误的演示
在Go中 ++和--是语句,不是表达式,没有运算符优先级之说
还有Go语言不支持重载

4.注释

就是平常的三种 
1.  //行注释
2.  /*这也是一个注释*/
3.  /*
    这是一个Go的注释
*/

5.枚举

常量可以作为枚举

const(
    con = 0
    opne = 1
    close = 2
)

现在数字0,1,2分别代表控制,打开,关闭

关键字实现枚举

package main 

import("fmt")

const(
    a = iote   //a == 0
    b          //b == 1 ,隐式使用iota关键字,实际等同于 b == iota
    c          //c == 2  ,c == iota
    d,e,f = iota, iota,iota  //d=3,e=3,f=3 ,同一行值相同,此处不能只写一个iota
    g = iota   //g = 4
    h = "h"    //h = "h" ,单独赋值,iota依旧等于5
    i          //i = "h" ,默认使用上面的赋值,iota依旧递增为6
    j = iota   //j = 7  
)

const z = iota  //每个单独定义的const常良中,iota都会重置,此时z=0

func main(){
    fmt.Println(a,b,c,d,e,f,g,h,i,j)
}

6.变量

声明变量

var a int  //定义一个变量a为int型
var b bool //定义一个变量b为bool型
var a, b int //定义两个变量为int型

也可以这样
var(
    a,b int 
    c bool
    d string    
)

//多个变量同时声明和赋值
var a, b, c = 1, 2, 3

注意:
下面这种只能在函数体内使用
   x,y = 5,6

6.1 局部变量声明

变量的声明有两种,上面的是一种,另一种是使用:=符号
例如:
a := 1    //等同于 var a = 1

Go语言编译器能智能判别类型,不用写a变量的类型也可以的

a := 1     
/* 1. 这种全局变量的声明是错误的*/

var a = 1   
/* 2. 全局变量声明应该用这种形式*

a := 10
/* 3.前面已经定义了变量a ,同一个代码块中不能重复再次定义*/


func main(){
    b:=2 //只能在函数体中使用这种语法

    a:=100 //把100赋给a没问题

    a:=hello //函数体内部属于另一个代码块,可以再次声明变量a,改变变量类型
    
    fmt.Println(a,b,c)
    
}

var c = 0 //全局变量不限位置,在函数体外即可

/*
    返回
    100 , 2 ,0
*/

7.匿名函数

func main() {
	x := 4

	fmt.Println("休息休息")
}

注意!!!!
//这段代码会报错
局部变量有个特点就是定义了必须使用
如果定义了x并没有用,编译会出错,即使是函数赋值也会出错

8. init函数


package main

import (
	"fmt"
	"math"
)

var pi float64

func init() {
	pi = 4 * math.Atan(1) //在init函数中计算pi的值
}

func main() {
	Dpi := pi * pi

	fmt.Println(pi, Dpi)
}

返回:3.141592653589793 9.869604401089358
发布了55 篇原创文章 · 获赞 32 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/qq_41542894/article/details/104088677