首页 > 其他 > 详细

Go学习笔记一:基础知识

时间:2017-11-21 20:22:16      阅读:250      评论:0      收藏:0      [点我收藏+]

变量

变量声明

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

变量初始化

var v1 int = 10
var v2 = 10
v3 := 10

变量赋值

var v1 int
v1 = 123

匿名变量

_, _, v1 := someFunc()

常量

常量定义

const zero = 0.0
const a, b, c = 3, 4, "foo"

预定义常量

true, false, iota

iota在const出现时重置为0,在下一个const出现之前,每出现iota,代表数字增加1

枚举

const (
    Sunday = iota
    Monday
    Tuesday
    Wednesday
    numberOfDays    //
)

类型

  • 布尔类型

  • 整型、浮点型、复数类型、字符串、字符类型

  • 数组

  • 数组切片

数据结构:指向数组的指针、元素个数、存储空间

  mySlice1 := make([]int, 5)
  mySlice2 := make([]int, 5, 10)
  mySlice3 := []int{1,2,3,4,5}
  • map
  var myMap map[string] PersonInfo              //变量声明
  myMap = make(map[string] PersonInfo)          //创建
  myMap["1234"] = PersionInfo{"1", "Jack"}      //赋值
  delete(myMap, "1234")                         //删除元素

  // 元素查找
  value, ok := myMap["1234"]
  if ok {
    //
  }

流程控制

条件语句

  if a < 5 {
        retun 0
  } else {
    return 1
  }

选择语句

  switch i {
    case 0:
        fmt.Printf("0")
    case 1:
        fmt.Printf("1")
    default:
        fmt.Printf("Default")
  }

循环语句

  sum := 0
  for i := 0; i < 100; i++ {
        sum += i
  }

函数

示例

  // 多个返回值
  func Add(a, b int)(ret int, err error) {
        // ...
  }

  // 只有一个返回值
  func Add(a, b int) int {
        //...
  }

  // 不定参数
  func myfunc(args ...int) {
    for _, arg := range args {
        // ...
    }
  }

小写字母开头的函数只在本包内可见,大写字母开头的函数才能被其它包调用

?

?

Go学习笔记一:基础知识

原文:http://www.cnblogs.com/cmhco/p/7875044.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!