前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >每天坚持20分钟之go的基本语法

每天坚持20分钟之go的基本语法

原创
作者头像
李子健
修改2022-06-29 22:30:54
2580
修改2022-06-29 22:30:54
举报
文章被收录于专栏:每日一善

go的基础

变量

通过英文命名

声明和赋值

var a int

a := 1

建议使用显式声明,这样更加明确

支持多变量类似python

a,b := 1, 2

变量的作用域

全局变量在函数外的变量

局部变量:局部有效,例如函数里面,作用域里面

常量

const 不可变的量

尽量少使用全局变量,使用常量

基本数据类型

数值类型

  • int uint int8 uint8 float32 float64 complex64 complex128 rune 字符类型
  • string rune 布尔类型
  • bool 数组类型
  • array numbers := 2int {11,22}

切片类型

  • slice sl1 := []int{1,2,3,4}

结构体类型

  • type Name struct{}

函数类型

  • var name = func(){}

interface

  • 接口 type Name interface { Say()string Do(int)int }map
  • var map mapstringstring

channel

  • ch1 := make(chan string)

类型转换

标准库strconv了

例如

代码语言:go
复制
strconv.Itoa(price)

自定义类型

使用type定义

type A string

var a A = "test"

函数

普通返回

func A(x type)(type1, type2){

}

支持命名返回值

func A(x type)(a type1, b type2){

}

匿名函数

var name = func(){}

流程控制

  • if else if else
  • switch .. case
  • for循环

结构体

代码语言:txt
复制
 type Person struct{

 Name string
 Age int
 }

func (p Person) SayHello() {
fmt.Println("hello world!")
}

 p1 := Person{Name:"tom", Age:21}

 p2 := new (Person)

 p2.Name = "tom"

 p2.Age = 31

接口

代码语言:txt
复制
type Name interface {

Say()string

Do(int)int


}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • go的基础
    • 变量
      • 声明和赋值
        • 变量的作用域
          • 常量
            • 基本数据类型
              • 类型转换
                • 自定义类型
                  • 函数
                    • 流程控制
                      • 结构体
                        • 接口
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档