• About
  • Advertise
  • Privacy & Policy
  • Contact
DevZone
  • Home
  • News
  • Dev
    • All
    • Algorithm
    • Architecture
    • Database
    • Design
    • DevOps
    • IoT
    • Network
    • Test
    • Web
    Phương thức xử lý mảng trong javascript

    Phương thức xử lý mảng trong javascript

    Bảo vệ content, chống copy nội dung web!

    Bảo vệ content, chống copy nội dung web!

    Lưu ý mệnh đề NOT IN trong SQL

    Lưu ý mệnh đề NOT IN trong SQL

    SOLID Principles: Dependency Inversion Principle

    SOLID Principles: Dependency Inversion Principle

    Solid Principles: Interface Segregation Principle

    Solid Principles: Interface Segregation Principle

    Tìm hiểu về composer.json schema (phần 2 – autoload)

    Tìm hiểu về composer.json schema (phần 2 – autoload)

    IPC – Đằng sau sự thành công của Chromium

    IPC – Đằng sau sự thành công của Chromium

    Dựng layout website với CSS Grid Layout

    Dựng layout website với CSS Grid Layout

    Golang cơ bản (p1)

    Golang cơ bản (p1)

    Trending Tags

    • Idea
    • Lifestyle
    No Result
    View All Result
    • Home
    • News
    • Dev
      • All
      • Algorithm
      • Architecture
      • Database
      • Design
      • DevOps
      • IoT
      • Network
      • Test
      • Web
      Phương thức xử lý mảng trong javascript

      Phương thức xử lý mảng trong javascript

      Bảo vệ content, chống copy nội dung web!

      Bảo vệ content, chống copy nội dung web!

      Lưu ý mệnh đề NOT IN trong SQL

      Lưu ý mệnh đề NOT IN trong SQL

      SOLID Principles: Dependency Inversion Principle

      SOLID Principles: Dependency Inversion Principle

      Solid Principles: Interface Segregation Principle

      Solid Principles: Interface Segregation Principle

      Tìm hiểu về composer.json schema (phần 2 – autoload)

      Tìm hiểu về composer.json schema (phần 2 – autoload)

      IPC – Đằng sau sự thành công của Chromium

      IPC – Đằng sau sự thành công của Chromium

      Dựng layout website với CSS Grid Layout

      Dựng layout website với CSS Grid Layout

      Golang cơ bản (p1)

      Golang cơ bản (p1)

      Trending Tags

      • Idea
      • Lifestyle
      No Result
      View All Result
      DEVZONE
      No Result
      View All Result
      Home Dev

      Golang cơ bản (p1)

      phamanhtuan by phamanhtuan
      March 1, 2020
      in Dev
      0
      Golang cơ bản (p1)

      Mình được vài đồng nghiệp khuyên là mỗi năm nên học 1 ngôn ngữ lập trình mới, viết một chương trình với ngôn ngữ đó, mở mang thêm kiến thức của mình về thế giới lập trình.
      Xuất thân từ một lập trình viên PHP – một ngôn ngữ thông dịch, mình thấy khá thú vị với các ngôn ngữ biên dịch như Java, Golang.
      Xin gửi đến các bạn series “Golang cơ bản”.

      Giới thiệu

      Phần cứng của máy tính trong kỉ nguyên “big data” đã phát triển không ngừng, các ngôn ngữ lập trình thì không như vậy. Các server mạnh mẽ xuất hiện với số “nhân” lên tới 64, 128 hoặc hơn. Nhưng nhiều ngôn ngữ lập trình chỉ dùng 1 core
      Đi cùng với phần cứng, kĩ thuật lập trình cũng phát triển. Ngày nay, hiếm có chương trình phần mềm nào được viết với chỉ một người. Một dự án lớn được chia thành nhiều dự án nhỏ, mọi người có nhu cầu “đóng gói code” để cùng nhau sử dụng chung.

      Một số ngôn ngữ đã ra đời để giải quyết các vấn đề trên, trong đó có Golang.

      Golang là một ngôn ngữ mã nguồn mở dạng biên dịch được Google giới thiệu vào năm 2009 với tiêu chí dễ chơi, dễ trúng thường.

      Golang tập trung vào các vấn đề sau:

      • Tăng tốc độ phát triển: khi so với Java, C hay C++, Golang có tốc độ biên dịch vượt trội.
      • Concurrency: với goroutines, việc lập trình tận dung tối đa sức mạnh phần cứng.
      • Quản lý bộ nhớ.
      • Đơn giản: dễ code, tái sử dụng code.

      Hello Golang

      Golang hỗ trợ cả ba nền tảng Mac, Windows, Linux. Bạn cài đặt bạn có thể xem hướng dẫn tại đây

      Tạo file hello.go

      package main
      
      import "fmt"
      
      func main() {
      	fmt.Println("Hello, Go")
      }

      Chạy một chương trình Go ta gõ lệnh

      /* chạy file hello ngay lập tức */
      go run hello.go

      hoặc

      /* biên dịch ra file hello */
      go build hello.go
      ./hello
      Hello, Go

      Các keyword trong Golang

      Tên function, variable, constant, type, và package luôn bắt đầu bằng chứ viết thường.
      Như các ngôn ngữ khác, Golang có các keyword quan trọng, chúng ta không thể dùng đặt tên.

      break default func interface select
      case  defer go map struct
      chan else goto package switch
      const fallthrough if range type
      continue for import return var

      Ngoài ra, còn các constant, type, function.

      Constants:

      true  false  iota  nil 

      Types:

      int  int8  int16  int32  int64    
      uint  uint8  uint16  uint32  uint64  uintptr           
      float32  float64  complex128  complex64            
      bool  byte  rune  string  error 

      Functions:

      make  len  cap  new  
      append  copy  close  delete             
      complex  real  imag panic  recover

      Khai báo biến

      Để khai báo biến ta dùng từ khóa var

      var i, j, k int                 // int, int, int
      var b, f, s = true, 2.3, "four" // bool, float64, string

      Khai báo ngắn gọn

      anim := gif.GIF{LoopCount: nframes}
      freq := rand.Float64() * 3.0

      Pointers

      x := 1
      p := &x         // p có kiểu dữ liệu *int
      fmt.Println(*p) // "1"
      *p = 2          // equivalent to x = 2
      fmt.Println(x)  // "2"

      Type Declarations

      Trong Golang, ta có thể tự định nghĩa ra kiểu dữ liệu từ những kiểu dữ liệu cơ bản. Ngoài ra, ta có thể viết thêm phương thức cho kiểu dữ liệu ra vừa định nghĩa.

      package tempconv
      
      import "fmt"
      
      type Celsius float64
      type Fahrenheit float64
      
      const (
          AbsoluteZeroC Celsius = -273.15
          FreezingC     Celsius = 0
          BoilingC      Celsius = 100
      )
      
      func CToF(c Celsius) Fahrenheit { return Fahrenheit(c*9/5 + 32) }
      
      func FToC(f Fahrenheit) Celsius { return Celsius((f - 32) * 5 / 9) }
      
      fmt.Printf("%g\n", BoilingC-FreezingC) // "100" °C
      boilingF := CToF(BoilingC)
      fmt.Printf("%g\n", boilingF-CToF(FreezingC)) // "180" °F
      fmt.Printf("%g\n", boilingF-FreezingC)       // compile error: type mismatch

      Trong ví dụ trên, hai kiểu dữ liệu Celsius và Fahrenheit được khai báo, cả 2 đều có kiểu dữ liệu cơ bản là float64.
      Celsius khai báo phương thức CToF, và Fahrenheit khai báo thêm phương thức FToC.
      Tuy cả hai cùng kiểu dữ liệu cơ bản là float, nhưng chúng không cùng “kiểu” với nhau.

      Thả tim (4 lượt thả tim)
      Loading...
      Previous Post

      Docker là gì?

      Next Post

      Dựng layout website với CSS Grid Layout

      phamanhtuan

      phamanhtuan

      Next Post
      Dựng layout website với CSS Grid Layout

      Dựng layout website với CSS Grid Layout

      Leave a Reply Cancel reply

      Your email address will not be published. Required fields are marked *

      Recent News

      Lập trình viên không dùng máy Mac nhiều như người ta đã nghĩ

      Lập trình viên không dùng máy Mac nhiều như người ta đã nghĩ

      July 25, 2020
      Dấu hiệu nhận biết sức khỏe qua liềm móng tay

      Dấu hiệu nhận biết sức khỏe qua liềm móng tay

      June 26, 2020
      Phương thức xử lý mảng trong javascript

      Phương thức xử lý mảng trong javascript

      May 31, 2020
      Lợi ích của việc tập thể dục thường xuyên

      Lợi ích của việc tập thể dục thường xuyên

      May 25, 2020
      DEVZONE

      Browse by Category

      • Algorithm
      • Architecture
      • Database
      • Design
      • Dev
      • DevOps
      • Idea
      • IoT
      • Lifestyle
      • Network
      • News
      • Test
      • Uncategorized
      • Web
      • About
      • Advertise
      • Privacy & Policy
      • Contact

      © 2019 Devzone

      No Result
      View All Result

      © 2019 Devzone