码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 第一节 Go语言的特征


    Go语言特征

    • Go优点
    • 特征
      • Go命名规则
      • 可见性
      • Go声明
      • Go的构建和编译

    Go优点

    自带gc。

    静态编译,编译好后,扔服务器直接运行。

    简单的思想,没有继承,多态,类等。

    特征

    1.自动立即回收。
    2.更丰富的内置类型。
    3.函数多返回值。
    4.错误处理。
    5.匿名函数和闭包。
    6.类型和接口。
    7.并发编程。
    8.反射。
    9.语言交互性。

    Go命名规则

    Go的函数、变量、常量、自定义类型、包(package)的命名方式如下:
    1 首字符可以是任意的Unicode字符或者下划线
    2 余字符可以是Unicode字符、下划线、数字
    3 字符长度不限
    25个关键字,37个保留字(具体可以网上去查)

    可见性

    1 声明在函数内部,是函数的本地值,类似private
    2 声明在函数外部,是对当前包可见(包内所有.go文件都可见)的全局值,类似protect
    3 声明在函数外部且首字母大写是所有包可见的全局值,类似public

    Go声明

    四种声明方式:
    1 var(声明变量)
    2 const(声明常量)
    3 type(声明类型)
    4 func(声明函数)
    注:文件的第一行就是package XXX声明,用来说明该文件属于哪个包(package),package声明下来就是import声明,再下来是类型,变量,常量,函数的声明

    Go的构建和编译

    Go工程包含下面三个目录:
    src 源代码文件
    pkg 包文件
    bin 相关bin文件

    golang的编译使用命令 go build , go install(除非只写一个main函数)
    GOPATH=工程根目录;其下应创建src,pkg,bin目录,bin目录中用于生成可执行文件, pkg目录中用于生成.a文件; golang中的import name,实际是到GOPATH中去寻找name.a, 使用时是该name.a的源码中生命的package 名字
    注:
    1.系统编译时 go install abc_name时,系统会到GOPATH的src目录中寻找abc_name目录,然后编译其下的go文件
    2.同一个目录中所有的go文件的package声明必须相同,所以main方法要单独放一个文件,否则在eclipse和liteide中都会报错
    编译报错如下:(假设test目录中有个main.go 和mymath.go,其中main.go声明package为main,mymath.go声明packag 为test);
    3.对于main方法,只能在bin目录下运行 go build path_tomain.go; 可以用-o参数指出输出文件名;
    4.可以添加参数 go build -gcflags “-N -l” ****,可以更好的便于gdb;详细参见 http://golang.org/doc/gdb
    5.如有全局变量 a;则应写为 p ‘main.a’;注意但引号不可少;

  • 相关阅读:
    基于android校园新闻APP开发的设计与实现
    微服务组件Feign
    前端深入理解JavaScript面向对象编程与Class
    Jenkins的Pipeline概念
    Windows系统封装初始化工具sysprep
    历史惊人相似,微软Exchange出现2022版“千年虫”bug
    无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
    【剑指offer】20.表示数值的字符串
    Kafak - 单机/集群快速安装指北(3.x版本)
    SCT52240STDR,SCT52240MTER,SCT52240QSTDR,SCT52240QMTER,栅极驱动器
  • 原文地址:https://blog.csdn.net/Re_view/article/details/126300364
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号