十个Go(Golang)代码片段,解决你的各种问题
发表时间: 2024-01-02 21:49
提供“前10名”Go(Golang)代码片段的明确列表是具有挑战性的,因为代码片段的实用性取决于您试图解决的具体问题。然而,我可以为您提供十个常用的Go代码片段,涵盖了各种任务和概念:
package mainimport "fmt"func main() { fmt.Println("Hello, World!")}
package mainimport ( "fmt" "bufio" "os")func main() { scanner := bufio.NewScanner(os.Stdin) fmt.Print("Enter text: ") scanner.Scan() input := scanner.Text() fmt.Println("You entered:", input)}
package mainimport ( "fmt" "time")func printNumbers() { for i := 1; i <= 5; i++ { fmt.Println(i) time.Sleep(time.Second) }}func main() { go printNumbers() time.Sleep(3 * time.Second)}
package mainimport "fmt"func main() { numbers := []int{1, 2, 3, 4, 5} fmt.Println("Slice:", numbers) fmt.Println("Length:", len(numbers)) fmt.Println("First Element:", numbers[0])}
package mainimport ( "errors" "fmt")func divide(a, b float64) (float64, error) { if b == 0 { return 0, errors.New("division by zero") } return a / b, nil}func main() { result, err := divide(10, 2) if err != nil { fmt.Println("Error:", err) return } fmt.Println("Result:", result)}
package mainimport ( "fmt" "net/http")func handler(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, "Hello, HTTP!")}func main() { http.HandleFunc("/", handler) http.ListenAndServe(":8080", nil)}
package mainimport ( "fmt" "encoding/json")type Person struct { Name string `json:"name"` Age int `json:"age"`}func main() { jsonStr := `{"name":"Alice", "age":30}` var person Person err := json.Unmarshal([]byte(jsonStr), &person) if err != nil { fmt.Println("Error:", err) return } fmt.Println("Name:", person.Name) fmt.Println("Age:", person.Age)}
package mainimport ( "fmt" "sync")func worker(id int, wg *sync.WaitGroup) { defer wg.Done() fmt.Printf("Worker %d started\n", id)}func main() { var wg sync.WaitGroup for i := 1; i <= 5; i++ { wg.Add(1) go worker(i, &wg) } wg.Wait() fmt.Println("All workers have finished.")}
package mainimport ( "fmt" "io/ioutil")func main() { data := []byte("Hello, File!") err := ioutil.WriteFile("example.txt", data, 0644) if err != nil { fmt.Println("Error:", err) return } content, err := ioutil.ReadFile("example.txt") if err != nil { fmt.Println("Error:", err) return } fmt.Println("File Content:", string(content))}
package mainimport ( "fmt" "sort")func main() { numbers := []int{5, 2, 9, 1, 5} sort.Ints(numbers) fmt.Println("Sorted Slice:", numbers)}
这些代码片段涵盖了从基本的I/O操作到并发、错误处理等常见Go编程任务和概念。请随意根据您在Go项目中的需要进行调整和使用。