[沫忘录]Golang基础类型与语法

[沫忘录]Golang基础类型与语法

一个最基本的golang程序

package main //包名

import "fmt" //引入包名,类似头文件,该包名主要包含一些文件io函数

func main(){
    fmt.Println("Hello World!")
}

语言特性

  • 一条语句后面可省略 " ; "
  • 由于以上特性,多个语句不能写在同一行
  • golang为了代码风格统一,左大括号 “{” 不能缩进到下一行
  • 为了避免不必要的包引用和变量定义增加可执行文件大小,golang里面包引用后必须使用,变量定义后必须使用

变量

赋值

//变量定义及初始
var a = 1

//声明变量
var b int

如果是在函数体内,则可以使用以下方式定义变量
b := 2

变量类型

  • 整型
    int int8 … int64 uint uint8 … uint64 uintptr
    其中 uint8 别名是byte, int32别名是rune
  • 浮点数
    float32, float64
  • 复数
    complex64,complex128

还有bool和string等类型

数组

//固长数组
a := [5]int{1, 2, 3, 4, 5}

//可变长数组(Slice)
a := make([]int, 0)//初始化长度为0的整型数组
a = append(a, 1, 2, 3, 4)//从尾部依次添加1,2, 3, 4
//也可这样定义
a := []int{1, 2, 3, 4}

Map

m := map[string] int{
“a” : 1,
“b” : 2
}
//直接定义
m := make(map[string]int)
m[“a”] = 1

结构

type Point struct{
	x int
    y int
}
//初始化
P := Point{1, 2}

分支

if b := 1; a > 10{
    ......
}

循环

for i := 1; i < 5; i++ {
    ......
}
//只留判断语句可模拟while循环

函数

func myfunc(a int, b int) (int, int){
    .....
    return b, a
}

//函数也可作为函数的参数
func sum(a int, b int, transform func(int) int) int{
    return transform(a) + transform(b)
}

//函数作为参数传递
square := func(x int) int {
    return x * x
}
fmt.println(sum(1, 2, square))

相关推荐

  1. []Golang基础类型语法

    2024-07-20 04:34:01       19 阅读
  2. []mysql基础(函数及约束)

    2024-07-20 04:34:01       47 阅读
  3. GO语言基础笔记(一):基本语法数据类型

    2024-07-20 04:34:01       51 阅读
  4. Python基础入门:语法数据类型

    2024-07-20 04:34:01       49 阅读
  5. Golang学习之路一二基础语法变量

    2024-07-20 04:34:01       53 阅读
  6. golang基础数据类型介绍

    2024-07-20 04:34:01       55 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-20 04:34:01       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-20 04:34:01       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-20 04:34:01       45 阅读
  4. Python语言-面向对象

    2024-07-20 04:34:01       55 阅读

热门阅读

  1. python需要掌握那些语法

    2024-07-20 04:34:01       17 阅读
  2. 关于shell的变量替换

    2024-07-20 04:34:01       18 阅读
  3. JVM--内存分配与回收策略

    2024-07-20 04:34:01       16 阅读
  4. autosar mcal I2C

    2024-07-20 04:34:01       15 阅读
  5. 关于防重,我是这么设计的

    2024-07-20 04:34:01       15 阅读
  6. python实现计数排序、桶排序和基数排序算法

    2024-07-20 04:34:01       14 阅读
  7. Carousel of Combinations

    2024-07-20 04:34:01       16 阅读
  8. VUE Pinia和Vuex的比较

    2024-07-20 04:34:01       17 阅读
  9. 前端下载文件流 出现乱码 解决方案

    2024-07-20 04:34:01       17 阅读
  10. Odoo17应用、模型、字段

    2024-07-20 04:34:01       16 阅读
  11. Python使用distutils.version的StrictVersion比较版本大小

    2024-07-20 04:34:01       16 阅读
  12. GESP CCF C++ 八级认证真题 2024年6月

    2024-07-20 04:34:01       19 阅读