首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >呜呜呜我要拿Go赢他~ 入门,Go的基础语法!

呜呜呜我要拿Go赢他~ 入门,Go的基础语法!

原创
作者头像
杨不易呀
修改2023-11-16 16:41:37
修改2023-11-16 16:41:37
4501
举报
文章被收录于专栏:杨不易呀杨不易呀

前言

继续接入上章节的呜呜呜我要拿Go赢他~ Go language MacOs build development environment Hello! Go ! 的文章现在要学的是Go的基础语法!

一、Main函数概览

基础语法函数概览
基础语法函数概览

Main函数要点

1、无参数、无返回值

2、main方法必须要在main包里面

3、go run main.go 就可执行 (和Java差不多用 javac来编译)

4、如果文件不叫 main.go 则需要 go build 之后在 go run

对应3
对应3

5、如果包名不是main则无法运行命令行,需要修改成main包

二、package声明

包声明

1、语法形式: package xxxxxxx

2、字母和下划线的组合

3、可以和文件夹不同名字

4、同一个文件夹下的声明一致

5、引入包语法形式 import alias xxxx

6、引入了这个包没有使用则会报错

7、 匿名引入,前面多一个下划线

三、String和基础类型

String声明

  • String 双引号括起来,则内部双引号需要使用 \ 转义
  • 引号引起来 , 则内部需要 \ 来进行转义

不建议自己手写转义,而是自己先写好,然后复制过去Goland,IDE 会自动完成转义。

String 长度

String的长度有些特殊

  • 字节长度: 和编码无关,用 len(str) 获取
  • 字符数量: 和编码有关,用编码库来计算
字节字符
字节字符

rune 类型

  • rune,直观理解,就是字符
  • rune 不是 byte!
  • rune 本质是 int32,一个 rune 四个字节
  • rune 在很多语言里面是没有的,与之对应的 是,golang 没有 char 类型。rune 不是数字,也不是 char,也不是 byte!
  • 实际中不太常用
rune
rune

bool, int, uint, float 家族

• bool: true, false

• int8, int16, int32, int64, int

• uint8, uint16, uint32, uint64, uint

• float32, float64

byte 类型

• byte,字节,本质是 uint8

• 对应的操作包在 bytes 上

类型总结

• golang 的数字类型明确标注了长度、有无符号

• golang 不会帮你做类型转换,类型不同无法通过编译。也因此,string 只能和string 拼接

• golang 有一个很特殊的 rune 类型,接近一般语言的 char 或者 character 的概念,非面试情况下,可以

理解为 “rune = 字符”

• string 遇事不决找 strings 包

四、变量声明

变量声明 var

  • var,语法:var name type = value
    • 局部变量
    • 包变量
    • 块声明
    • 驼峰命名
    • 首字符是否大写控制了访问性:大写包外可访问;
  • golang 支持类型推断

变量声明 :=

  • 只能用于局部变量,即方法内部
  • golang 使用类型推断来推断类型。数字会被理 解为 int 或者 float64。(所以要其它类型的数字,就得用 var 来声明)

变量声明易错点

  • 变量声明了没有使用
  • 类型不匹配
  • 同作用域下,变量只能声明一次

常量声明 const

  • 首字符是否大写控制了访问性:大写包 外可访问;
  • 驼峰命名
  • 支持类型推断
  • 无法修改值

输入图片说明
输入图片说明

最后

本期结束咱们下次再见👋~

🌊 关注我不迷路,如果本篇文章对你有所帮助,或者你有什么疑问,欢迎在评论区留言,我一般看到都会回复的。大家点赞支持一下哟~ 💗

我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一、Main函数概览
    • Main函数要点
  • 二、package声明
    • 包声明
  • 三、String和基础类型
    • String声明
    • String 长度
    • rune 类型
    • bool, int, uint, float 家族
    • byte 类型
    • 类型总结
  • 四、变量声明
    • 变量声明 var
    • 变量声明 :=
    • 变量声明易错点
    • 常量声明 const
  • 最后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档