前言:
首先学习go是想在有java基础的情况下再学习一门新语言,了解了一些语言背景后发现go比较适合我。这里的学习笔记,主要是阅读《go入门指南》而记录的,只为能够快速上手。
目录
1.3、下载安装goland(这一步网上都有教程,要支持正版哦,bro)
2.3.2for-range循环类似java的foreach
Downloads - The Go Programming Language
这里我下的是window版zip包,完了解压。
这里要配置四个变量:
- //开启module模式
- GO111MODULE= on
-
- //添加go代理网址,国内需要使用,这是七牛的
- GOPROXY=https://goproxy.cn
-
- //go工程所在目录
- GOPATH=
-
- //go的根目录
- GOROOT=
- package main
-
- import (
- "fmt"
- "runtime"
- )
-
- func main() {
-
- //打印出go的版本
- fmt.Printf("%s\n", runtime.Version())
- }
if、if...else
-
- func Abs(x int) int {
-
- if x > 0 {
- return x
- }else {
- return -x
- }
- }
switch case:
这个不像java,不用break,只执行一行不会继续往下
- package main
-
- import "fmt"
-
- func main() {
- var num1 int = 98
-
- switch num1 {
- case 98, 99:
- fmt.Println("from to : 98")
- case 100:
- fmt.Println("to :100")
-
- default:
- fmt.Println("not from 98 to 100")
- }
- }
- package main
-
- import (
- "fmt"
- "strconv"
- )
-
- func main() {
-
- var orig string = "ABC"
- // var an int
- var newS string
- // var err error
-
- fmt.Printf("The size of ints is: %d\n", strconv.IntSize)
- // anInt, err = strconv.Atoi(origStr)
- an, err := strconv.Atoi(orig)
- if err != nil {
- fmt.Printf("orig %s is not an integer - exiting with error\n", orig)
- return
- }
- fmt.Printf("The integer is %d\n", an)
- an = an + 5
-
- newS = strconv.Itoa(an)
- fmt.Printf("%s", newS)
- }
一般出错终止喜欢用os.Exit
- if err != nil {
- fmt.Printf("orig %s is not an integer - exiting with error\n", orig)
- os.Exit(1)
- }
和java基本一样没啥好说的
- package main
-
- import "fmt"
-
- func main() {
-
- for i := 0; i < 10; i++ {
- fmt.Println(i)
- }
- }
如下:输出字符串的每个字符以及下标数
- package main
-
- import "fmt"
-
- func main() {
-
- str := "Go is a beautiful language!"
- fmt.Printf("The length of str is: %d\n", len(str))
- for index, char := range str {
- fmt.Printf("Character on position %d is: %c \n", index, char)
- }
- fmt.Println()
-
- }