iT邦幫忙

2023 iThome 鐵人賽

DAY 1
1
自我挑戰組

Go語言自學挑戰系列 第 2

第二天:學習Golang的變數

  • 分享至 

  • xImage
  •  

前言

昨天因為私事中斷挑戰一天了/images/emoticon/emoticon11.gif

今天要來學習的主題為「變數」,

什麼是變數呢?變數是一個儲存資料的容器,假設計算1+1得到2,

想將數字2這個結果儲存起來就可以使用到變數

虛擬碼如下:

var x = 1+1 //x=2

日後如果其他的程式需要使用到這個結果,只要呼叫變數就可以取得了~

接下來將探討Golang變數的細節!

Golang的變數Variables

1.使用變數的第一步「宣告」

使用變數之前要先做一件很重要的事情:「宣告」一個變數。

宣告變數有兩種

  1. 使用關鍵字 var,使用方法如下:
//語法
var 變數名稱 類型 = 值
//範例:
var number int = 1
  1. 使用簡短宣告 := 符號,編譯器會自動判斷相應的型別,

使用方法如下:

//語法
變數名稱:= 值
//範例:
number := 1 

方法2比方法1來的簡潔許多,但需要宣告全域性變數時,還是必須使用var才行。

package main
import ("fmt")
	var student1 string = "JIMMY" //要宣告全域性變數必須使用var。
	student2 := "JIMMY2" //簡短宣告不可以宣告在函式外部.

func main() {
  
  var student3 = "JIMMY2" 
  student4 := "JIMMY4" 

  fmt.Println(student1)
  fmt.Println(student2)
  fmt.Println(student3)
  fmt.Println(student4)
}

2.變數的型別

變數型別在程式設計中是一個重要概念,用來定義資料在程式中占的記憶體大小及與規範的操作,Golang 有三種基礎的資料型別:

數字 Numbers

數字型別用來表示數字,可以分為儲存 整數 Integer和帶小數部分的 浮點數 Float

範例如下:

package main
import ("fmt")

func main() {
  var a int = 100        // 整數Integer
  var b float32 = 3.14 // 浮點數Floating

  fmt.Println("Integer: ", a)
  fmt.Println("Float:   ", b)
}

執行結果如下:

Integer:  100
Float:    3.14

布林 Booleans

布林是用來表達布林運算的概念,只有 truefalse兩個值,預設值為false

範例如下:

package main
import ("fmt")
 
func main() {
  var a1 bool = true // 宣告變數類型為bool,值為ture。
  var a2 bool // 宣告變數類型為bool,沒有預設值。

  fmt.Println("a1 =",a1)
  fmt.Println("a2 =",a2)
}

執行結果如下:

a1= true
a2= false

字串 Strings

字串型別用於存儲字符,使用時必須用雙引號括起來 "字串"

範例如下:

package main
import ("fmt")
 
func main() {
  var txt string = "Hello!"

  fmt.Printf("Type: %T, value: %v\n", txt, txt)
}

執行結果如下:

Type: string, value: Hello!

結語

查閱資料後才發現自己的基礎有待加強/images/emoticon/emoticon02.gif

雖然從事軟體工作一段時間,但對於變數的細節並沒有很深入/images/emoticon/emoticon06.gif

不過學習到很多新知識也相當開心~

之後持續努力!

參考資料

  1. https://www.w3schools.com
  2. https://willh.gitbook.io/build-web-application-with-golang-zhtw/
  3. https://opensourcedoc.com/golang-programming/data-type/

上一篇
第一天:開始學習Golang
下一篇
第三天:常數(constant)的使用
系列文
Go語言自學挑戰29
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言