golang_listen2

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

var strArr []string  = []string{"10.237.8.2", "10.237.8.3", "10.237.8.3"}

 

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 )

 

普通占位符
占位符     说明                           举例                   输出
%v      相应值的默认格式。            Printf("%v", people)   {zhangsan},
%+v     打印结构体时,会添加字段名     Printf("%+v", people)  {Name:zhangsan}
%#v     相应值的Go语法表示            Printf("#v", people)   main.Human{Name:"zhangsan"}
%T      相应值的类型的Go语法表示       Printf("%T", people)   main.Human
%%      字面上的百分号,并非值的占位符  Printf("%%")            %

 

整数占位符
占位符     说明                                  举例                       输出

%b 二进制表示 Printf("%b", 5) 101 %c 相应Unicode码点所表示的字符 Printf("%c", 0x4E2D) 中 %d 十进制表示 Printf("%d", 0x12) 18 %o 八进制表示 Printf("%d", 10) 12 %q 单引号围绕的字符字面值,由Go语法安全地转义 Printf("%q", 0x4E2D) '' %x 十六进制表示,字母形式为小写 a-f Printf("%x", 13) d %X 十六进制表示,字母形式为大写 A-F Printf("%x", 13) D %U Unicode格式:U+1234,等同于 "U+%04X" Printf("%U", 0x4E2D) U+4E2D

 

常量

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)
}
View Code

 

 

 

数据类型

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. ⼩写意味着这个函数/变量是私有的, 包外部不能访问

 

posted @ 2022-03-20 18:19  walkerpython  阅读(30)  评论(0编辑  收藏  举报