golang_listen2


  := 只能在第一次声明时用到 

1.标识符、关键字

2. 变量和常量 

3. 数据类型

4. Go程序基本结构

标识符,关键字

1. 标识符是?来表示Go中的变量名或者函数名,以字?或_开头。后?跟着字? 、_或数字

2 关键字 关键字是Go语?预先定义好的,有特殊含义的标识符

变量

var a int

var b string

var c bool

var d int = 8

var e string = “hello”

var ( a int   //0   //默认值

  b string //“”

  c bool //false

  d int = 8 // 8

  e string = “hello” //hello )

常量

1. 常量使?const 修饰,代表永远是只读的,不能修改。

2. 语法:const identifier [type] = value,其中type可以省略

const b string = “hello world”

const b = “hello world”

优雅的语法

const(

a = 1

b = 2

c = 3 )

更加专业的写法

const (

  a = iota

  b

  c )

const(

  a = 1 << iota

  b

  c )

package main

import "fmt"

func main() {
    const (
        a int = 100
        b
        c int = 200
        d
    )
    fmt.Printf("a=%d b=%d c=%d d=%d\n", a, b, c, d)
    // const (
    //     e = iota
    //     f = iota
    //     g = iota
    // )
    const ( //同上原理
        e = iota //默认是0
        f = iota
        g = iota
    )

    const (
        a1 = 1 << iota //数字左移
        a2 = 1 << iota
        a3 = 1 << iota
        a4 = 1 << iota
        a5 = 1 << iota
    )

    fmt.Printf("e=%d f=%d g=%d \n", e, f, g)
    fmt.Printf("a1=%d a2=%d a3=%d  a4=%d a5=%d\n", a1, a2, a3, a4, a5)
}

数据类型

1. 布尔类型

2. 整数和浮点数类型

3. 字符串类型

数据类型和操作符

1. 布尔类型

a. var b bool 和 var b bool = true 和 var b = false

b. 操作符 == 和 !=

c. 取反操作符: !b  

d. && 和 || 操作符 e. 格式化输出占位符: %t

2. 整数和浮点数类型

a. int8、int16、int32、int64

b. uint8、uint16、uint32、uint64

c. int 和 uint,和操作系统平台相关 数据类型和操作符

d. float32 和 float64浮点类型 e. 所有整数 初始化为0,所有浮点数初始化为0.0,布尔类型初始化为false

3. 整数和浮点数类型

a. Go是强类型语?,不同类型相加以及赋值是不允许的 数据类型和操作符

b. 那怎么样才能实现,不同类型相加呢?

c. 输出占位符:整数%d,%x?六进制,%f浮点数

4. 字符串类型

a. var str string 

b. var str string = “hello world”

c. 字符串输出占位符%s d. 万能输出占位符: %v

字符串

a. 双引号, "",可以包含控制字符

b. 反引号, ``,所有字符都是原样输出

字符串常用操作

a. ?度:len(str)

b. 拼接:+,fmt.Sprintf

c. 分割:strings.Split

d. 包含: strings.Contains

e. 前缀或后缀判断:strings.HasPrefix, strings.HasSuffix

f. ?串出现的位置: strings.Index(), strings.LastIndex() g. join操作: strings.Join(a[]string, sep string)

-------------

a. 逻辑操作符, == 、 != 、<、<=、>=

b. 算数操作符, +、-、 * 、/、%

go的基本结构

1. 任何?个代码?件?属于?个包

2. import 关键字,引?其他包:

import(“fmt”) import(“os”)

通常习惯写成: import ( “fmt” “os”)

3. 开发可执?程序,package main, 并且有且只有?个main??函数

4. 包中函数调?:

a. 同?个包中函数,直接?函数名调?

b. 不同包中函数,通过包名+点+ 函数名进?调?

5. 包访问控制规则:

a. ?写意味着这个函数/变量是可导出的

b. ?写意味着这个函数/变量是私有的, 包外部不能访问