码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • go入门快速学习笔记(有java基础)


    前言:

            首先学习go是想在有java基础的情况下再学习一门新语言,了解了一些语言背景后发现go比较适合我。这里的学习笔记,主要是阅读《go入门指南》而记录的,只为能够快速上手。

    目录

    1、go开发环境搭建

    1.1、官网下载包

    1.2、配置环境变量

    1.3、下载安装goland(这一步网上都有教程,要支持正版哦,bro)

    1.4、创建一个go项目,module模式

    1.5、写个go小程序运行一下

    2、控制结构

    2.1、条件语句

    2.2、多返回值函数的错误

    2.3、循环语句

    2.3.1 for:

    2.3.2for-range循环类似java的foreach

    3、函数


    1、go开发环境搭建

    1.1、官网下载包

    Downloads - The Go Programming Language

    这里我下的是window版zip包,完了解压。

    1.2、配置环境变量

    这里要配置四个变量:

    1. //开启module模式
    2. GO111MODULE= on
    3. //添加go代理网址,国内需要使用,这是七牛的
    4. GOPROXY=https://goproxy.cn
    5. //go工程所在目录
    6. GOPATH=
    7. //go的根目录
    8. GOROOT=

    1.3、下载安装goland(这一步网上都有教程,要支持正版哦,bro)

    1.4、创建一个go项目,module模式

    1.5、写个go小程序运行一下

    1. package main
    2. import (
    3. "fmt"
    4. "runtime"
    5. )
    6. func main() {
    7. //打印出go的版本
    8. fmt.Printf("%s\n", runtime.Version())
    9. }
    websphere快速入门(整理版)
    application/x-zip 0星 超过10%的资源 660KB
    下载

    2、控制结构

    2.1、条件语句

    if、if...else

    1. func Abs(x int) int {
    2. if x > 0 {
    3. return x
    4. }else {
    5. return -x
    6. }
    7. }

    switch case:

    这个不像java,不用break,只执行一行不会继续往下

    1. package main
    2. import "fmt"
    3. func main() {
    4. var num1 int = 98
    5. switch num1 {
    6. case 98, 99:
    7. fmt.Println("from to : 98")
    8. case 100:
    9. fmt.Println("to :100")
    10. default:
    11. fmt.Println("not from 98 to 100")
    12. }
    13. }

    2.2、多返回值函数的错误

    1. package main
    2. import (
    3. "fmt"
    4. "strconv"
    5. )
    6. func main() {
    7. var orig string = "ABC"
    8. // var an int
    9. var newS string
    10. // var err error
    11. fmt.Printf("The size of ints is: %d\n", strconv.IntSize)
    12. // anInt, err = strconv.Atoi(origStr)
    13. an, err := strconv.Atoi(orig)
    14. if err != nil {
    15. fmt.Printf("orig %s is not an integer - exiting with error\n", orig)
    16. return
    17. }
    18. fmt.Printf("The integer is %d\n", an)
    19. an = an + 5
    20. newS = strconv.Itoa(an)
    21. fmt.Printf("%s", newS)
    22. }

    一般出错终止喜欢用os.Exit

    1. if err != nil {
    2. fmt.Printf("orig %s is not an integer - exiting with error\n", orig)
    3. os.Exit(1)
    4. }

    2.3、循环语句

    2.3.1 for:

    和java基本一样没啥好说的

    1. package main
    2. import "fmt"
    3. func main() {
    4. for i := 0; i < 10; i++ {
    5. fmt.Println(i)
    6. }
    7. }
    Linux 基础命令快速入门
    pdf 0星 超过10%的资源 832KB
    下载

    2.3.2for-range循环类似java的foreach

    如下:输出字符串的每个字符以及下标数

    1. package main
    2. import "fmt"
    3. func main() {
    4. str := "Go is a beautiful language!"
    5. fmt.Printf("The length of str is: %d\n", len(str))
    6. for index, char := range str {
    7. fmt.Printf("Character on position %d is: %c \n", index, char)
    8. }
    9. fmt.Println()
    10. }

    3、函数

  • 相关阅读:
    nginx基础使用二————动静分离、UR Rewrite和防盗链
    pandas实现列转行
    MySQL的零拷贝技术
    2-2Linux下文件操作常用命令
    uview组件使用笔记
    NIO this.selector.select()
    接口测试必备知识点(含实战项目)
    面试:OkHttp相关
    随笔记:重新认识 else if
    探索8个顶级的绘图工具
  • 原文地址:https://blog.csdn.net/qq_35515283/article/details/126100911
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号