Golang 学习笔记 ---类型和一个 HelloWorld

变量声明

var v1 int 
var v2 stirng
var v3 [10]int  //数组
var v4 []int    //切片
var v5 struct{
}
var v6 *int //指向 int 的指针
var v7 map[string]int //map(字典),key 为 stirng,value 为 int
var v8 func(a int ) int 

注意:在 go 中数据类型是放在标识符 的后面

  • 在go中可以用 var关键字将若干个需要声明的变量放在一起
var (
    v1 int 
    v2 stirng
)

变量的初始化

var v1 int = 10 
var v2  = 10  //自动推导出 v2的类型
v3 := 10 

:= 用于明确表达同事进行变量的声明和初始化工作.所以已经声明了的变量不能再使用 := 。否则会出现 no new variables on left side of := 错误


常量

const Pi float64 = 3.14159265358
const zero = 0.0 //自动推导
const (
    size int64 = 1024
    eof = -1  
)

//预定义常量
//go 预定义了这些常量:true / false /iota
//iota 可以认为是一个可被编译器修改的常量,在每一个 const 关键字出现时被重置为0,然后在下一个 const 出现之前,没出现一次 ioat,其所表达的数字会自动增加1

const (
    c0 = iota //co == 0 
    c1 = iota //c1 == 1
    c2 = iota //c2 == 2 
)

const ( //再次出现了 const ,所以接下来出现的第一个iota == 0 
    a = 1 << iota // a == 1
    b = 1 << iota // b == 2 
    c = 1 << iota // c == 3
)

//两个 const 的赋值语句是一样,那么可以省略后面一个赋值表达式
const (
    c0 = iota // c0 == 0 
    c1 //c1 == 1 ,他的完整表达式是 c1 = iota,但是他和上面的 c0的赋值语句是一样的,所以可以省略 
)

go 中的类型


  • 布尔类型:bool
  • 整型: int8 byte int16 int uint uintptr 等
  • 浮点类型: float32 float64
  • 复数类型: complex64 complex128
  • 字符串: string
  • 字符类型: rune
  • 错误类型: error
  • 指针: pointer
  • 数组: array
  • 切片: slice
  • 字典: map
  • 通道: chan
  • 结构体: struct
  • 接口: interface

这些数据类型的基本操作,和 其他语言的一些操作,基本是一样的。但是还有有不同的…

一个完整的 go 程序:hello world

//声明这个程序的包是 main,也只有main 才能有 main 函数
package main

//导入 fmt 这个包
import (
   "fmt"
   //ff "fmt" 这样就是给 fmt 这个包起了个别名,然后就可以使用 ff 来调用fmt包中的函数
)

//main 函数 程序的入口
func main() {
    fmt.Println("Hello World,你好,世界") //go 使用 utf-8,所以支持多语言.
}

//在 go中,使用首字母大写的函数就是 public,可以暴露出去.例如:fmt包中的 Println 函数
//而首字母小写的就是 private,不可以暴露出去

你可能感兴趣的:(Golang 学习笔记 ---类型和一个 HelloWorld)