Go 语法 变量


简介

  • go的一个思想:一个问题尽量只有一个解决方案是最好的。
  • go 中函数是第一等元素。
  • studygolang.com/pkgdoc
go build src.go # 编译
go run src.go   # 编译并运行,不生成exe可执行文件
gofmt -w src.go # -w 写入源文件,否则会在标准输出/控制台显示格式化后的代码

一些语法

  • 严格区分大小写;
  • 语句不需要分号;
  • 编译器是一行一行编译的,因此一行就写一条语句,多个语句卸载同一行会报错;
  • 定时的变量或者 导入的包没有使用到,编译不能通过;
  • 全局变量声明后不使用可以编译通过;
  • 全局变量不能用 := 赋值

go 数据类型

  • 基本数据类型

    • 数值型:2类,整数类型(byte, int, int8, int16, int32, int64; uint, uint8, uint16, uint32, uint64); 浮点类型(float32, float64);
      • int/uint: 32位系统,4个字节;64位系统 8字节
      • rune: 等价int32,有符号
      • byte: 等价unit8,无符号,0~255
    • 字符型:没有单独的关键字表示,使用byte来保存单个字符;
    • 布尔型: bool
    • 字符串: string
  • 复杂数据类型(派生数据类型)

    • 函数:go中函数是个类型
    • 管道
    • 指针
    • 结构体
    • 接口
    • 数组
    • 切片
    • map

demo code

package main // 声明文件所在的包,每个go文件必须有归属的包; 即使当前没有这个目录,和java不同
import "fmt"

var(
    // 字符串使用双引号
	global_1 = "123"
	global_2 = 123
)
var global_3 = "G3" // 这个全局变量可以编译通过

func main(){ // 这个大括号不能像java那样换行;否则编译不过。是为了同一的代码格式
	fmt.Println(global_1)
	fmt.Println(global_2)

	// 指定变量类型并赋值
	var num int = 1
	fmt.Println(num)

	// 指定类型,不赋值,使用默认值
	var num_1 int
	fmt.Println(num_1)

	// 不指定变量类型,根据值进行类型自动推断
	var num_2 = "tom"
    fmt.Printf("num_2 type is: %T \n", num_2)

    // 省略 var 使用 := 。声明并赋值
    num_3 := "str"
    fmt.Printf("num_3 type is: %T \n", num_3)

    // 声明多个变量
    var v1,v2,v3 int
    fmt.Println(v1)
    fmt.Println(v2)
    fmt.Println(v3)

    v4,v5 := 4,5
    fmt.Println(v4)
    fmt.Println(v5)
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值