码迷,mamicode.com
首页 > 其他好文 > 详细

Go学习笔记一:基础知识

时间:2017-11-21 20:47:26      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:赋值   +=   range   浮点   err   基础知识   笔记一   string类   笔记   

变量

变量声明

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学习笔记一:基础知识

标签:赋值   +=   range   浮点   err   基础知识   笔记一   string类   笔记   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!