Go语言学习笔记1-基本语法

变量

  • 多重赋值
1
2
3
var a int = 100  
var b int = 200
b, a = a, b

字符串

  • 截取字符串
    strings.Index(): 正向搜索子字符串
    strings.LastIndex(): 反向搜索子字符串
1
2
3
4
tracer := "这是什么?这是一段字符串"
comma := strings.Index(tracers, "?")
pos := strings.Index(tracer[comma], "这是")
str := tracer[comma+pos:]
  • 连接字符串
    bytes.Buffer 缓冲字符串
1
2
3
4
5
6
7
str1 := "好好学习"
str2 := "天天向上"
var stringBuilder bytes.Buffer

stringBuilder.WriteString(str1)
stringBuilder.WriteString(str2)
result := stringBuilder.String()
  • 格式化字符串
动词 功能
%v 按值的本来值输出
%+v 在%v基础上,对结构体字段名和值进行展开
%#v 输出GO语言语法格式的值
%T 输出Go语言语法格式的类型和值
%% 输出%本体
%b 整型以二进制方式显示
%o 整型以八进制方式显示
%d 整型以十进制方式显示
%x 整型以十六进制方式显示
%X 整型以十六进制、字母大写方式显示
%U Unicode字符
%f 浮点数
%p 指针,十六进制方式显示

常量

  • 枚举
    用常量配合iota实现枚举
    iota:常量计数器,常量中每新增一行iota将计数一次
1
2
3
4
5
6
7
8
9
10
type ItemType int

const (
Weapon ItemType = iota
Consumables
Material
SkillBook
)

var Itemtype itemType = Weapon
1
2
3
4
5
6
const (
FlagNone = 1 << iota
FlagRed
FlagGreen
FlagBlue
)
  • 枚举值转字符串
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
func (item ItemType) String() string{
switch item {
case Weapon:
return "武器"
case Consumables:
return "消耗品"
case Material:
return "材料"
case SkillBook:
return "技能书"
}

return "N/A"
}

name := itemType.String()
Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2021 Azella
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信